a&&t+al&&(i=r,l=a),258===a)break}return new o(l,t-i)}function u(e,t){var n,i,o,a,s,u=e.length,l=new r(572),p=new(h?Uint8Array:Array)(u);if(!h)for(a=0;a2*c[o-1]+l[o]&&(c[o]=2*c[o-1]+l[o]),f[o]=Array(c[o]),d[o]=Array(c[o]);for(i=0;ie[i]?(f[o][a]=s,d[o][a]=t,u+=2):(f[o][a]=e[i],d[o][a]=i,++i);m[o]=0,1===l[o]&&r(o)}return p}function l(e){var t,n,r,i,o=new(h?Uint16Array:Array)(e.length),a=[],s=[],u=0;for(t=0,n=e.length;t>>=1;return o}var p=void 0,f=!0,d=this,h="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;t.prototype.a=function(e,t,r){var i,o=this.buffer,a=this.index,s=this.d,u=o[a];if(r&&1>>8&255]<<16|b[e>>>16&255]<<8|b[e>>>24&255])>>32-t:b[e]>>8-t),8>t+s)u=u<>t-i-1&1,8===++s&&(s=0,o[a++]=b[u],u=0,a===o.length&&(o=n(this)));o[a]=u,this.buffer=o,this.d=s,this.index=a},t.prototype.finish=function(){var e,t=this.buffer,n=this.index;return 0m;++m){for(var v=m,y=v,x=7,v=v>>>1;v;v>>>=1)y<<=1,y|=1&v,--x;g[m]=(y<>>0}var b=g;r.prototype.getParent=function(e){return 2*((e-2)/4|0)},r.prototype.push=function(e,t){var n,r,i,o=this.buffer;for(n=this.length,o[this.length++]=t,o[this.length++]=e;0o[r]);)i=o[n],o[n]=o[r],o[r]=i,i=o[n+1],o[n+1]=o[r+1],o[r+1]=i,n=r;return this.length},r.prototype.pop=function(){var e,t,n,r,i,o=this.buffer;for(t=o[0],e=o[1],this.length-=2,o[0]=o[this.length],o[1]=o[this.length+1],i=0;(r=2*i+2,!(r>=this.length))&&(r+2o[r]&&(r+=2),o[r]>o[i]);)n=o[i],o[i]=o[r],o[r]=n,n=o[i+1],o[i+1]=o[r+1],o[r+1]=n,i=r;return{index:e,value:t,length:this.length}};var _,w=2,E=[];for(_=0;288>_;_++)switch(f){case 143>=_:E.push([_+48,8]);break;case 255>=_:E.push([_-144+400,9]);break;case 279>=_:E.push([_-256+0,7]);break;case 287>=_:E.push([_-280+192,8]);break;default:throw"invalid literal: "+_}i.prototype.h=function(){var e,n,r,i,o=this.input;switch(this.e){case 0:for(r=0,i=o.length;r>>8&255,x[b++]=255&g,x[b++]=g>>>8&255,h)x.set(s,b),b+=s.length,x=x.subarray(0,b);else{for(v=0,y=s.length;v$)for(;0<$--;)te[K++]=0,ne[0]++;else for(;0<$;)J=138>$?$:138,J>$-3&&J<$&&(J=$-3),10>=J?(te[K++]=17,te[K++]=J-3,ne[17]++):(te[K++]=18,te[K++]=J-11,ne[18]++),$-=J;else if(te[K++]=ee[z],ne[ee[z]]++,$--,3>$)for(;0<$--;)te[K++]=ee[z],ne[ee[z]]++;else for(;0<$;)J=6>$?$:6,J>$-3&&J<$&&(J=$-3),te[K++]=16,te[K++]=J-3,ne[16]++,$-=J}for(e=h?te.subarray(0,K):te.slice(0,K),L=u(ne,7),V=0;19>V;V++)H[V]=L[Q[V]];for(F=19;4=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:throw"invalid length: "+e}}var t,n,r=[];for(t=3;258>=t;t++)n=e(t),r[t]=n[2]<<24|n[1]<<16|n[0];return r}(),C=h?new Uint32Array(S):S;e("Zlib.RawDeflate",i),e("Zlib.RawDeflate.prototype.compress",i.prototype.h);var T,D,A,P,k={NONE:0,FIXED:1,DYNAMIC:w};if(Object.keys)T=Object.keys(k);else for(D in T=[],A=0,k)T[A++]=D;for(A=0,P=T.length;Af&&(f=e[c]),e[c]>=1;for(l=a;l>>t,e.c=i-t,e.d=s,n}function i(e,t){for(var n,r,i,o=e.f,s=e.c,u=e.input,c=e.d,l=t[0],p=t[1];s>>16,e.f=o>>i,e.c=s-i,e.d=c,65535&r}function o(e){function n(e,t,n){var o,a,s,u;for(u=0;u>>=1){case 0:var t=this.input,n=this.d,i=this.b,s=this.a,p=a,f=a,d=a,h=i.length,m=a;if(this.c=this.f=0,p=t[n++],p===a)throw Error("invalid uncompressed block header: LEN (first byte)");if(f=p,p=t[n++],p===a)throw Error("invalid uncompressed block header: LEN (second byte)");if(f|=p<<8,p=t[n++],p===a)throw Error("invalid uncompressed block header: NLEN (first byte)");if(d=p,p=t[n++],p===a)throw Error("invalid uncompressed block header: NLEN (second byte)");if(d|=p<<8,f===~d)throw Error("invalid uncompressed block header: length verify");if(n+f>t.length)throw Error("input buffer is broken");switch(this.i){case c:for(;s+f>i.length;){if(m=h-s,f-=m,u)i.set(t.subarray(n,n+m),s),s+=m,n+=m;else for(;m--;)i[s++]=t[n++];this.a=s,i=this.e(),s=this.a}break;case l:for(;s+f>i.length;)i=this.e({o:2});break;default:throw Error("invalid inflate mode")}if(u)i.set(t.subarray(n,n+f),s),s+=f,n+=f;else for(;f--;)i[s++]=t[n++];this.d=n,this.a=s,this.b=i;break;case 1:this.j(T,A);break;case 2:o(this);break;default:throw Error("unknown BTYPE: "+e)}}return this.m()};var p,f,d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=u?new Uint16Array(d):d,m=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],g=u?new Uint16Array(m):m,v=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],y=u?new Uint8Array(v):v,x=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],b=u?new Uint16Array(x):x,_=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],w=u?new Uint8Array(_):_,E=new(u?Uint8Array:Array)(288);for(p=0,f=E.length;p=p?8:255>=p?9:279>=p?7:8;var S,C,T=t(E),D=new(u?Uint8Array:Array)(30);for(S=0,C=D.length;Sa)o>=l&&(this.a=o,n=this.e(),o=this.a),n[o++]=a;else for(s=a-257,c=g[s],0=l&&(this.a=o,n=this.e(),o=this.a);c--;)n[o]=n[o++-u];for(;8<=this.c;)this.c-=8,this.d--;this.a=o},n.prototype.s=function(e,t){var n=this.b,o=this.a;this.n=e;for(var a,s,u,c,l=n.length;256!==(a=i(this,e));)if(256>a)o>=l&&(n=this.e(),l=n.length),n[o++]=a;else for(s=a-257,c=g[s],0l&&(n=this.e(),l=n.length);c--;)n[o]=n[o++-u];for(;8<=this.c;)this.c-=8,this.d--;this.a=o},n.prototype.e=function(){var e,t,n=new(u?Uint8Array:Array)(this.a-32768),r=this.a-32768,i=this.b;if(u)n.set(i.subarray(32768,n.length));else for(e=0,t=n.length;ee;++e)i[e]=i[r+e];return this.a=32768,i},n.prototype.u=function(e){var t,n,r,i,o=this.input.length/this.d+1|0,a=this.input,s=this.b;return e&&("number"==typeof e.o&&(o=e.o),"number"==typeof e.q&&(o+=e.q)),2>o?(n=(a.length-this.d)/this.n[2],i=258*(n/2)|0,r=it&&(this.b.length=t),e=this.b),this.buffer=e},e("Zlib.RawInflate",n),e("Zlib.RawInflate.prototype.decompress",n.prototype.t);var P,k,I,F,O={ADAPTIVE:l,BLOCK:c};if(Object.keys)P=Object.keys(O);else for(k in P=[],I=0,O)P[I++]=k;for(I=0,F=P.length;I=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return s.utils.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date((e>>25&127)+1980,(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1)}},n.prototype=new t,n.prototype.byteAt=function(e){return this.data.charCodeAt(e)},n.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)},n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.index,this.index+e);return this.index+=e,t},r.prototype=new t,r.prototype.byteAt=function(e){return this.data[e]},r.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),o=this.length-4;o>=0;--o)if(this.data[o]===t&&this.data[o+1]===n&&this.data[o+2]===r&&this.data[o+3]===i)return o;return-1},r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.subarray(this.index,this.index+e);return this.index+=e,t},i.prototype=new r,i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.index,this.index+e);return this.index+=e,t},o.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(e,t,n){return function(){var r=e.index;e.setIndex(t);var i=e.readData(n);return e.setIndex(r),i}},prepareContent:function(e,t,n,r,i){return function(){var e=s.utils.transformTo(r.uncompressInputType,this.getCompressedContent()),t=r.uncompress(e);if(t.length!==i)throw new Error("Bug : uncompressed data size mismatch");return t}},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readString(this.fileNameLength),e.skip(n),this.compressedSize==-1||this.uncompressedSize==-1)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(t=p(this.compressionMethod),null===t)throw new Error("Corrupted zip : compression "+l(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new s.CompressedObject,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(e,e.index,this.compressedSize,t),this.decompressed.getContent=this.prepareContent(e,e.index,this.compressedSize,t,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=s.utils.transformTo("string",this.decompressed.getContent()),s.prototype.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(e){if(this.versionMadeBy=e.readString(2),this.versionNeeded=e.readInt(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4),this.fileNameLength=e.readInt(2),this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=e.readString(this.fileNameLength),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readString(this.fileCommentLength),this.dir=!!(16&this.externalFileAttributes)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=new n(this.extraFields[1].value);this.uncompressedSize===c&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===c&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===c&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===c&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,n,r,i=e.index;for(this.extraFields=this.extraFields||{};e.index1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e0})},_routeHasResourcesOrWebappResourcesPath:function(e){return e.path===this._RESOURCES_PATH||e.path===this._WEBAPP_RESOURCES_PATH},_getNeoappDocumentAndContent:function(e){var t=this,n=e.getEntity().getFullPath()+"/"+this._NEO_APP_FILE_NAME;return this.context.service.document.getDocumentByPath(n).then(function(e){return e?[e,t._getNeoappContent(e)]:Q.reject("MISSING_NEOAPP")})},_getNeoappContent:function(e){return e.getContent().then(function(e){try{return JSON.parse(e)}catch(e){return Q.reject("PARSE_ERROR")}})},_getProjectMinimalVersion:function(e){var t=this;return t.context.service.ui5projecthandler.getDependencies(e).then(function(e){return e?e.minUI5Version:void 0}).fail(function(){})},_isSelectedVersionLowerThanInManifest:function(e,t){var n,r=0,i=0,o=!1;if("snapshot"===e)return!1;if(e.indexOf("snapshot")>-1){if(n=e.split("-"),!(n.length>1))return!1;n=n.splice(1,1),n=n[0].split(".")}else n=e.split(".");for(var a=t.split("."),s=0;si){o=!1;break}if(r!==i&&r0)){n[i]=""+o.pop()+"";continue}a=o.shift(),o.length>0&&(s=o.pop()),""!==s?n[i]=""+a+" "+s+"":n[i]=""+a+""}}return e}return""}}}),define("sap.watt.saptoolsets.ui5.common.ui5librarymetadata/service/UI5MetadataXMLProvider",["../util/Utilities"],function(e){"use strict";return{_sHelpUrlPrefix:"",init:function(){this.context.service.ui5librarymetadata.attachEvent("projectConfigurationChanged",function(e){var t=e.params.projectDocument;this.context.event.fireProjectConfigurationChanged({projectDocument:t}).done()},this)},configure:function(e){this._sHelpUrlPrefix=e.helpUrlPrefix},getMetadata:function(e){return this.context.service.ui5librarymetadata.getMetadata("xml",e,!1)},getHelpData:function(t){var n={};return n.helpUrl=this._getHelpUrl(t),n.helpDescription=e.formatProposalHelpDescription(t.helpDescription,this._sHelpUrlPrefix),n},_getHelpUrl:function(e){var t="",n=e.category,r=e.fullName,i=e.helpTarget;if(this._sHelpUrlPrefix&&n&&r&&i)switch(t=this._sHelpUrlPrefix+i+".html",n){case 3:t+="#event:"+r.substring(r.indexOf("#")+1);break;case 2:case 6:case 11:case 12:t+="#constructor";break;case 13:case 21:var o=r.substring(r.indexOf("#")+1);t+="#."+o}return t}}}),define("sap.watt.saptoolsets.ui5.common.ui5librarymetadata/service/UI5MetadataJSProvider",["../util/Utilities"],function(e){"use strict";return{_sHelpUrlPrefix:"",_UI5ServiceName:"sapui5",init:function(){this.context.service.ui5librarymetadata.attachEvent("projectConfigurationChanged",function(e){var t=e.params.projectDocument;this.context.event.fireProjectConfigurationChanged({projectDocument:t}).done()},this)},configure:function(e){this._sHelpUrlPrefix=e.helpUrlPrefix},getMetadata:function(e){return this.context.service.ui5librarymetadata.getMetadata("js",e,!1)},getHelpData:function(t){var n={};return n.helpUrl=this._getHelpUrl(t),n.helpDescription=e.formatProposalHelpDescription(t.helpDescription,this._sHelpUrlPrefix),n},_getHelpUrl:function(e){var t,n=this,r=e.category,i=e.helpTarget;if("namespace"===r||"class"===r||"static class"===r)t=n._sHelpUrlPrefix+i+".html";else if("function"===r||"template"===r&&e.isStatic&&!e.name){var o=i.lastIndexOf(".");if(o>0){var a=(e.isStatic?".":"")+i.substring(o+1),s=i.substring(0,o);t=n._sHelpUrlPrefix+s+".html#"+a}}else"template"===r&&(t=n._sHelpUrlPrefix+i+".html#constructor");return t}}}),define("sap.watt.saptoolsets.ui5.common.ui5librarymetadatafromhcp/service/UI5LibraryMetadataFromHcp",["sap/watt/lib/lodash/lodash"],function(e){"use strict";return{_aUi5Versions:null,_oActiveVersion:null,_INTERNAL_ENV:"sapui5versionsinternal",_EXTERNAL_ENV:"sapui5versions",_UI5TEMPLATES:"ui5templates",_SNAPSHOT_VERSION:"sapui5nightly",getVersionsOverview:function(){var t=this;return this._getUI5Data(sap.watt.getEnv("context_root")+this._UI5TEMPLATES+"/versionoverview.json").then(function(n){if(n&&n.versions){var r=n.versions,i=[];return t.getVersions().then(function(t){if(t)for(var n=0;n0)return e._aUi5Versions=t,e._aUi5Versions}):e._isNullUndefinedOrArrayOfZero(e._aUi5Versions)?Q([]):Q(e._aUi5Versions)},getMetadata:function(t,n,r){var i=this;return this._getVersionFromHCP(n).then(function(n){if(!n)return Q();var o=n.value,a=sap.watt.getEnv("context_root")+(sap.watt.getEnv("internal")&&"internal"===n.info.source?i._INTERNAL_ENV:i._EXTERNAL_ENV);a="snapshot"===o.toLowerCase()?"/"+i._SNAPSHOT_VERSION:a+"/"+o;var s={},u=[];return r.forEach(function(e){var n=a+"/test-resources/"+e.replace(/\./g,"/")+"/designtime/codeassistance/",r=n+"Library."+t+"meta.json",o=n+"Library."+t+"templates.json";u.push(i._getDataFromHCP(r,"text",e,"index")),u.push(i._getDataFromHCP(o,"text",e,"template"))}),Q.allSettled(u).then(function(t){return t.forEach(function(t){"fulfilled"===t.state&&e.set(s,[t.value.packageName,t.value.type],t.value.package)}),s})})},_getDataFromHCP:function(e,t,n,r){return window.location.origin||(window.location.origin=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")),this._getResponseFromHCP(window.location.origin+e,t,n,r).fail(function(){return console.log("Missed "+window.location.origin+e),Q.reject()})},_getResponseFromHCP:function(e,t,n,r){var i=Q.defer(),o=new XMLHttpRequest;return o.open("GET",e),o.setRequestHeader("Accept","*/*"),o.responseType=t,o.onload=function(e){4===this.readyState&&this.status<300?i.resolve(this.response?{packageName:n,package:this.response,type:r}:{packageName:n,package:this.responseText,type:r}):i.reject(e)},o.send(),i.promise},_getVersionFromHCP:function(t){return this.getVersions().then(function(n){return e.clone(e.find(n,{value:t}))})},getSubLibraries:function(e){var t=this;return this._getVersionFromHCP(e).then(function(e){return t._getUI5Libraries(e)})},_getUI5Libraries:function(t){var n="",r="snapshot"===t.value.toLowerCase();r||(n=sap.watt.getEnv("context_root")+(sap.watt.getEnv("internal")&&"internal"===t.info.source?this._INTERNAL_ENV:this._EXTERNAL_ENV));var i=r?this._SNAPSHOT_VERSION:t.value,o=n+"/"+i+"/resources/sap-ui-version.json";return this._getUI5Data(o).then(function(t){if(t&&t.libraries){var n=e.map(t.libraries,"name");return e.reject(n,function(e){var t=/(^themelib_|.*\.server\..*)/i;return t.test(e)})}return[]})},_isNullUndefinedOrArrayOfZero:function(e){return this._isNullOrUndefined(e)||!this._isNullOrUndefined(e.length)&&0===e.length},_getUI5Data:function(e){var t=this,n=Q.defer();return window.location.origin||(window.location.origin=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")),jQuery.ajax({url:window.location.origin+e,dataType:"json",success:function(e){n.resolve(e)},error:function(){n.reject()}}),n.promise.fail(function(){t.context.service.log.warn("UI5 Versions From HCP","Error while fetching data for SAPUI5 versions from "+e,["user"]).done()})},_getUI5Versions:function(){var e=this,t=[this._getUI5Data(sap.watt.getEnv("context_root")+this._EXTERNAL_ENV+"/neo-app.json")];return sap.watt.getEnv("internal")&&t.push(this._getUI5Data(sap.watt.getEnv("context_root")+this._INTERNAL_ENV+"/neo-app.json")),Q.allSettled(t).spread(function(t,n){return e._getUI5AllVersions(t,n)})},_isNullOrUndefined:function(e){return void 0===e||null===e},_isNullOrUndefinedOrPromiseRejected:function(e){return void 0===e||null===e||void 0===e.value},_getUI5AllVersions:function(e,t){var n=this._isNullOrUndefinedOrPromiseRejected(e),r=this._isNullOrUndefinedOrPromiseRejected(t);if(n&&r)return[];var i=[];if(n||this._addUi5versions(e.value,i,"external"),r||this._addUi5versions(t.value,i,"internal"),sap.watt.getEnv("internal")){var o={aSnapshotVersions:[],aStandardVersions:[]};if(o=i.reduce(function(e,t){return t.value.indexOf("snapshot")>-1?o.aSnapshotVersions.push(t):o.aStandardVersions.push(t),o},0),o&&o.aStandardVersions&&o.aStandardVersions.length>0&&(i=o.aStandardVersions),i.sort(this._sortVersions),o&&o.aSnapshotVersions&&o.aSnapshotVersions.length>0)for(var a=0;a-1){i.splice(c,0,s);break}if(u>l.value){i.splice(c,0,s);break}}}}else i.sort(this._sortVersions);return this._oActiveVersion&&i.splice(0,0,this._oActiveVersion),i},_addUi5versions:function(e,t,n){var r;if(null!==e.routes&&void 0!==e.routes)for(var i=0;i0){var n=t.filter(function(e){return"Innovation"===e.support}),r=t.filter(function(e){return"Maintenance"===e.support}),i=[];if(r&&r.length>0&&(n.sort(e._compare),r.sort(e._compare),r.forEach(function(t){var n=e._constructVersionName(t,"Maintenance");t.patch&&n&&i.push({versionName:n,sVersion:t.patch})})),n&&n.length>0){var o=e._constructVersionName(n[0],"Innovation");n[0].patch&&o&&i.unshift({versionName:o,sVersion:n[0].patch})}return Q(i)}return Q([])})},_compare:function(e,t){return e.patch0){var r=n[0].fullPath,i=t.getEntity().getParentPath().split("/");return e.forEach(n,function(e){var t=e.fullPath.split("/");t[2]===i[2]&&(r=e.fullPath)}),r}})},getI18nFilePathFromManifest:function(e,t,n){if(e&&t[e]){var r="";if(t[e].settings&&t[e].settings.bundleName){var i=t[e].settings.bundleName;return i=i.replace(/\./g,"/"),r=n+i.substring(i.indexOf("i18n"),i.length)+".properties",{fullPath:r,modelName:e}}if(t[e].settings&&t[e].settings.bundleUri)return r=n+t[e].settings.bundleUri,{fullPath:r,modelName:e};if(t[e].uri)return r=n+t[e].uri,{fullPath:r,modelName:e}}},filteri18nByManifestModels:function(t,n,r){var i=[];t=e.keyBy(t,"fullPath");for(var o=this._convertModelsArrayToi18nFilePathArray(n,r),a=0;a");if(t.length>1){var n=t[1].substring(0,t[1].indexOf("}")),r=t[0].substring(t[0].indexOf("{")+1,t[0].length);return{sI18nModelName:r,sI18nValue:n}}}}}),define("sap.watt.saptoolsets.ui5.common.plugin.I18n/command/EditI18n",["../util/Utilities"],function(e){"use strict";return{_oI18n:"",execute:function(){var e=this;return this._getCurrDocumentInfo().then(function(t){if(t.doc.getProject().then(function(t){t?e.context.service.usagemonitoring.report("editor","editi18n","from_command",t.getTitle()).done():e.context.service.usagemonitoring.report("editor","editi18n","from_command","").done()}).done(),t&&t.contentStatus.token&&t.contentStatus.token.value)return e._isI18nStringValid(t.contentStatus.token.value,t.doc).then(function(n){return n.length>0?e.context.service.translation.openAddEntryDialogForEditingI18n(n,t.doc):e.context.service.usernotification.liteNotificationInfo(e.context.i18n.getText("i18n","noI18nKeyExistError"))})})},isAvailable:function(){var e=/(.js|view.xml|fragment.xml)$/;return this.context.service.selection.getOwner().then(function(t){if(t&&t.instanceOf&&t.instanceOf("sap.watt.common.plugin.aceeditor.service.Editor"))return t.getSelection().then(function(t){if(t){var n=t.document,r=n.getExtInfo();return(!r||!r.external)&&e.exec(n.getTitle())}return!1})})},_getCurrDocumentInfo:function(){return this.context.service.selection.getOwner().then(function(e){return e.getSelection().then(function(t){var n=t.document;return e.getContentStatus(!0,!0).then(function(e){return{doc:n,contentStatus:e}})})})},_isI18nStringValid:function(t,n){var r,i,o=e._parseI18nString(t)?e._parseI18nString(t):{sI18nValue:t.replace(/\"/g,"")},a=this,s=[],u=[];return!!o&&this._getI18nFileModelPath(o.sI18nModelName,n).then(function(e){return!!e&&(_.forEach(e,function(e){i=a.context.service.translation.getAllPropertyKeys("",e.modelPath,n).then(function(e,t){var n=_.keyBy(t,"key");n[o.sI18nValue]&&(r=n[o.sI18nValue],r.textType&&(r.textType="#"+r.textType),r.modelName=o.sI18nModelName||e.modelPath,r.fullPath=e.filePath,r.modelPath=e.modelPath,u.push(r))}.bind(void 0,e)),s.push(i)}),Q.all(s).then(function(){return u}))})},_getAllI18nFilesPath:function(t){var n=[];return e.getI18nFiles(t,this.context).then(function(e){return _.forEach(e,function(e){var t=e.fullPath;n.push({modelPath:t.substring(t.indexOf("/i18n/")+"/i18n/".length,t.indexOf(".properties")),filePath:t})}),n})},_getI18nFileModelPath:function(t,n){var r=this,i=[];return this.context.service.ui5projecthandler.getModels(n).then(function(o){return o[t]?e.getManifestFilePath(n,r.context).then(function(n){var r=n.substring(0,n.length-"manifest.json".length),a=e.getI18nFilePathFromManifest(t,o,r);if(a){var s=a.fullPath;return i.push({modelPath:s.substring(s.indexOf("/i18n/")+"/i18n/".length,s.indexOf(".properties")),filePath:s}),i}}):r._getAllI18nFilesPath(n)}).fail(function(){return r._getAllI18nFilesPath(n)})}}}),define("sap.watt.saptoolsets.ui5.common.plugin.I18n/service/GoToI18n",["sap/watt/lib/lodash/lodash","../util/Utilities"],function(e,t){"use strict";return{goToI18n:function(e,n){var r,i=this;return n&&(r=t._parseI18nString(n)),r||(r={sI18nValue:void 0,sI18nModelName:void 0}),t.getI18nFiles(e,i.context).then(function(n){return n.length>1?i.context.service.ui5projecthandler.getModels(e).then(function(o){return t.getManifestFilePath(e,i.context).then(function(e){var a=e.substring(0,e.length-13),s=t.getI18nFilePathFromManifest(r.sI18nModelName,o,a);return s&&s.fullPath?i.context.service.document.getDocumentByPath(s.fullPath).then(function(e){return e?i._openI18nFile(e,r.sI18nValue):i._filterI18nFilesAndOpenDialog(n,o,a,r)}):i._filterI18nFilesAndOpenDialog(n,o,a,r)})}).fail(function(){i._openI18nDialog(n,r.sI18nValue)}):1===n.length?i.context.service.document.getDocumentByPath(n[0].fullPath).then(function(e){return i._openI18nFile(e,r.sI18nValue)}):void i.context.service.usernotification.liteNotificationInfo(i.context.i18n.getText("i18n","noI18nPropertiesFileError")).done()})},_openI18nDialog:function(e,t){var n=new sap.ui.model.json.JSONModel;n.setData({aI18nFiles:e,currentI18nFile:e[0].fullPath,i18nValue:t}),this._oI18nDialogFragment=sap.ui.xmlfragment("sap.watt.saptoolsets.ui5.common.plugin.I18n.fragment.GoToI18n",this),this._oI18nDialogFragment.setModel(n),this.context.i18n.applyTo(this._oI18nDialogFragment),this._oI18nDialogFragment.open()},onCancel:function(){this._oI18nDialogFragment.close()},onOk:function(e){var t=this,n=e.getSource().getModel(),r=n.getProperty("/currentI18nFile"),i=n.getProperty("/i18nValue");return t.context.service.document.getDocumentByPath(r).then(function(e){return t._openI18nFile(e,i).then(function(){t._oI18nDialogFragment.close()})})},onAfterClose:function(e){this._oI18nDialogFragment.destroy()},_filterI18nFilesAndOpenDialog:function(e,n,r,i){var o=t.filteri18nByManifestModels(e,n,r);return o<1?this.context.service.usernotification.liteNotificationInfo(this.context.i18n.getText("i18n","noI18nPropertiesModelsError")):this._openI18nDialog(o,i.sI18nValue)},_openI18nFile:function(e,t){var n=this;return this.context.service.editor.getSpecificEditor(e,"aceeditor").then(function(r){return n.context.service.content.open(e,r.service).then(function(){return n._openEditorInSpecificPosition(t,r.service)})})},_openEditorInSpecificPosition:function(e,t){if(e)return t.getContentStatus().then(function(n){var r=n.buffer.indexOf(e);return r===-1&&(e=""),t.indexToPosition(r).then(function(n){return t.setSelectionRange(n,e.length)})})}}}),define("sap.watt.saptoolsets.ui5.common.plugin.I18n/service/PushToI18n",["sap/watt/lib/lodash/lodash","../util/Utilities"],function(e,t){"use strict";return{pushToI18n:function(e){var n=this;return t.getI18nFiles(e,n.context).then(function(r){return r.length<1?n.context.service.usernotification.liteNotificationInfo(n.context.i18n.getText("i18n","noI18nPropertiesFileError")).done():n.context.service.ui5projecthandler.getModels(e).then(function(i){return t.getManifestFilePath(e,n.context).then(function(o){var a=o.substring(0,o.length-13),s=t.filteri18nByManifestModels(r,i,a);return s.length<1&&(s=r),n._createI18nObj(s,e)})}).fail(function(){return n._createI18nObj(r,e)})})},_createI18nObj:function(e,t){var n=this;return this.context.service.translation.openAddEntryDialogForI18nFiles(e,t).then(function(e){if(e)return n._insertI18nString(e,t)})},_insertI18nString:function(t,n){var r="";return t.modelName||(t.modelName="i18n"),e.endsWith(n.getName(),".js")?r=t.key:e.endsWith(n.getName(),".xml")&&(r="{"+t.modelName+">"+t.key+"}"),this.context.service.aceeditor.addString(r)}}}),define("sap.watt.saptoolsets.ui5.common.plugin.I18n/codeCompletion/localI18nContentAssist",[],function(){"use strict";return{createProposals:function(e,t,n,r){return this._oContext=n,this._oDoc=r,this.filterProposalsByPrefix(t.prefix,e)},createProposalInfo:function(e){var t="",n="",r=this._oContext.i18n.getText("tooltip_info_property"),i=this._oContext.i18n.getText("tooltip_type_property"),o=this._oContext.i18n.getText("tooltip_model_property"),a=this._oContext.i18n.getText("tooltip_key_property"),s=this._oContext.i18n.getText("tooltip_filePath_property"),u="";e.extraInfo&&(t="
"+r+e.extraInfo),e.textType&&(n="
"+i+e.textType),_.endsWith(this._oDoc.getName(),".js")?u=e.key:_.endsWith(this._oDoc.getName(),".xml")&&(u="{"+e.modelName+">"+e.key+"}");var c={overwrite:!0,proposal:u,description:e.value,helpDescription:s+e.filePath+"
"+o+e.modelName+"
"+a+e.key+n+t};return c},filterProposalsByPrefix:function(e,t){var n=e.split(">");return 1===n.length?this.filterProposalsByValue(t,n):n[0]&&n[1]?(n[0]=_.trimStart(n[0],"{"),this.filterProposalsByKey(t,n)):n[0]?(n[0]=_.trimStart(n[0],"{"),this.filterProposalsByModel(t,n)):void 0},filterProposalsByValue:function(e,t){var n=this,r=[];return _.forEach(e,function(e){_.startsWith(e.value,t[0])&&(e=n.createProposalInfo(e),r.push(e))}),r},filterProposalsByModel:function(e,t){var n=this,r=[];return _.forEach(e,function(e){e.modelName===t[0]&&(e=n.createProposalInfo(e),r.push(e))}),r},filterProposalsByKey:function(e,t){var n=this,r=[];return _.forEach(e,function(e){e.modelName===t[0]&&_.startsWith(e.key,t[1])&&(e=n.createProposalInfo(e),r.push(e))}),r}}}),define("sap.watt.saptoolsets.ui5.common.plugin.I18n/service/localI18nCodeCompletion",["../util/Utilities","../codeCompletion/localI18nContentAssist"],function(e,t){"use strict";return{getWordSuggestions:function(t){var n=this;return this.context.service.document.getDocumentByPath(t.targetFile).then(function(r){return e.getI18nFiles(r,n.context).then(function(i){return n.context.service.ui5projecthandler.getModels(r).then(function(o){return e.getManifestFilePath(r,n.context).then(function(a){var s=a.substring(0,a.length-13),u=e.filteri18nByManifestModels(i,o,s);return n.getProposals(u,r,t)})}).fail(function(){if(1===i.length)return n.getProposals(i,r,t)})})})},getProposals:function(e,n,r){var i,o=this,a=[],s=[];return _.forEach(e,function(e){var t=o.getModelPath(e);i=o.context.service.translation.getAllPropertyKeys("",t.modelPath,n).then(function(e,t){_.forEach(t,function(t){t.filePath=e.filePath,t.modelName=e.modelName}),a=a.concat(t)}.bind(void 0,t))}),s.push(i),Q.all(s).then(function(){var e=t.createProposals(a,r,o.context,n);return{proposals:e}})},getModelPath:function(e){var t=e.fullPath;return e.modelName||(e.modelName="i18n"),{modelName:e.modelName,modelPath:t.substring(t.indexOf("/i18n/")+"/i18n/".length,t.indexOf(".properties")),filePath:t}},getCalculatedPrefix:function(e){var t="";return e.token&&e.token.value&&(t=e.token.value.substr(0,e.cursorPosition.column-e.token.start).slice(1)),t}}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/command/Select",{isAvailable:function(){var e=this.context.service.selection;return e.isOwner(this.context.service.servicecatalog).then(function(t){return!!t&&e.getSelection().then(function(e){return 0!==e.length&&(!!e[0].document.data("ServiceUrl")||!!e[0].document.data("RDLPackage"))})})},isEnabled:function(){return!0},execute:function(){var e=this.context.service.servicecatalog;return this.context.service.selection.getSelection().then(function(t){return e.setSelectedNode(t[0].document)})}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/command/Expand",{isAvailable:function(){var e=this.context.service.selection;return e.isOwner(this.context.service.servicecatalog).then(function(t){return!!t&&e.getSelection().then(function(e){return e.length>0&&e[0].document.getHasExpander()&&!e[0].document.getExpanded()})})},isEnabled:function(){return!0},execute:function(){return this.context.service.selection.getSelection().then(function(e){var t=e[0].document;t&&(t.setExpanded(!0),t.fireToggleOpenState(!0))})}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/command/Collapse",{isAvailable:function(){var e=this.context.service.selection;return e.isOwner(this.context.service.servicecatalog).then(function(t){return!!t&&e.getSelection().then(function(e){return e.length>0&&e[0].document.getHasExpander()&&e[0].document.getExpanded()})})},isEnabled:function(){return!0},execute:function(){return this.context.service.selection.getSelection().then(function(e){var t=e[0].document;t&&(t.setExpanded(!1),t.fireToggleOpenState(!1))})}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/utils/DataConnectionUtils",["sap/watt/lib/lodash/lodash"],function(e){"use strict";return{BSP_EXECUTE_ABAP:"bsp_execute_abap",_CATALOG_APIMGMT_PROXY:"api_mgmt_proxy",getAdditionalData:function(e){
var t={};if(e)for(var n=0;nt.description.toLowerCase()?1:0},getConnections:function(e,t,n){var r=this,i=r.getFormatterConnections(e,t);return n?(r.addBSPConnections(e,i),i):i},addBSPConnections:function(e,t){var n=this,r=[];return r=e.filter(function(e){return e.wattUsage===n.BSP_EXECUTE_ABAP}),r.sort(n.compareDestinationsByDescription),r.forEach(function(e){for(var r=!1,i=0;idataConnectionWizardStep_apiDetailsLabel}",width:"100%",layoutData:new sap.ui.layout.GridData({span:"L5 M5 S5"}),visible:{path:"bSelectedApiService",formatter:function(e){return e}}}).addStyleClass("serviceCatalogHeaderLabel");this.oCatalogComboBox=new sap.ui.commons.DropdownBox({width:"100%",change:[e._handleCatalogComboBox,e],placeholder:"{i18n>catalog_select_system_placeholder}",layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"}),accessibleRole:sap.ui.core.AccessibleRole.Combobox,visible:{path:"bSelectAPIStep",formatter:function(e){return e}}}).addStyleClass("serviceCatalogStepBottomMargin"),this.populateConnections(this.oCatalogComboBox,0),this.oSearchField=new sap.ui.commons.SearchField({enableListSuggest:!1,enableFilterMode:!0,enableClear:!0,enabled:!1,width:"100%",tooltip:"{i18n>service_name_or_description_search}",suggest:[e._doSuggest,e],startSuggestion:0,layoutData:new sap.ui.layout.GridData({linebreak:!0,span:"L12 M12 S12"}),accessibleRole:sap.ui.core.AccessibleRole.Search,visible:{path:"bSelectAPIStep",formatter:function(e){return e}}}).addStyleClass("serviceCatalogStepBottomMargin"),this.oGrid.addContent(this.oCatalogComboBox),this.oGrid.addContent(this.oSearchField);var o=new sap.ui.commons.Button({text:"{i18n>dataConnectionWizardStep_apiBackToApiListButton}",lite:!0,icon:"sap-icon://navigation-left-arrow",press:function(){e.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectAPIStep",!0),e.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedApiService",!0)},layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"}),visible:{path:"bSelectAPIStep",formatter:function(e){return!e}}}).addStyleClass("oBackToApiListButton");this.oGrid.addContent(o),this.oProductsTree=new sap.ui.commons.Tree({showHeader:!1,height:"300px",width:"100%",visible:{path:"bSelectAPIStep",formatter:function(e){return e===!1}},layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"}),select:function(){e.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedProduct",!0)}}).addStyleClass("productsTree"),this.oAPIProductsNodeTemplate=new sap.ui.commons.TreeNode({text:"{dataModel>name}",expanded:!1,nodes:[new sap.ui.commons.TreeNode({selectable:!1,text:"{dataModel>description}"}).addStyleClass("productDescriptionNode")]}),this.oGrid.addContent(this.oProductsTree);var a=new sap.ui.layout.Grid({layoutData:new sap.ui.layout.GridData({span:"L5 M5 S5"}),visible:{path:"bSelectedApiService",formatter:function(e){return e}}}),s=new sap.ui.commons.Label({text:"{i18n>dataConnectionWizardStep_apiDescriptionLabel}",width:"100%",layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"})});this.oApiDescriptionText=new sap.ui.commons.TextArea({editable:!1,wrapping:sap.ui.core.Wrapping.Soft,rows:3,width:"100%",layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"})}).addStyleClass("apiDescriptionText"),a.addContent(s),a.addContent(this.oApiDescriptionText);var u=new sap.ui.commons.Button({text:"{i18n>dataConnectionWizardStep_apiSubscribeButton}",press:function(){e.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectAPIStep",!1),e.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedApiService",!1)},visible:{path:"bSelectedApiService",formatter:function(e){return e}},enabled:{path:"bHasRelatedProduct",formatter:function(e){return e}}}),c=new sap.ui.commons.Button({text:"{i18n>dataConnectionWizardStep_apiSelectProductButton}",press:function(){e._onSubscribeToProduct()},visible:{path:"bSelectAPIStep",formatter:function(e){return!e}},enabled:{path:"bSelectedProduct",formatter:function(e){return e}}}),l=new sap.ui.layout.HorizontalLayout({content:[u,c],layoutData:new sap.ui.layout.GridData({span:"L7 M7 S7"})}).addStyleClass("subscribeLayout");this.oServiceInfoAndDetailsGrid.addContent(r),this.oServiceInfoAndDetailsGrid.addContent(i),this.oServiceInfoAndDetailsGrid.addContent(this.oGrid),this.oServiceInfoAndDetailsGrid.addContent(a),this.oServiceInfoAndDetailsGrid.addContent(l)},_resetTreeFields:function(){this.oTree&&(this.oGrid.removeContent(this.oTree),this.nodes=void 0,this.oSearchField.setValue(""),this._markAsDisabled(this.oSearchField,!0),this.context.event.fireValidateNextSent({bNextEnabled:!1,message:"",severity:""}).done())},populateConnections:function(e,n){var r=this;this.context.event.fireRequestSent().done(),this.context.service.destination.getDestinations().then(function(i){t.forEach(i,function(e){if(e.wattUsage===r._CATALOG_APIMGMT_PROXY)return r._oApiManagmentEndPointDest=e,!1}),e.addItem(new sap.ui.core.ListItem({text:""}).data("connection",void 0)),r._getFormatterConnections(i,n).forEach(function(t){e.addItem(new sap.ui.core.ListItem({text:t.name}).data("connection",t))});var o=e.getItems();2===o.length&&(e.fireEvent("change",{selectedItem:o[1]}),e.setSelectedItemId(o[1].getId()))}).fail(function(e){r._throwValidate(e)}).fin(function(){r.context.event.fireRequestCompleted().done()})},_markAsDisabled:function(e,t){e.setEnabled(!t)},_onBeforeClose:function(e){e&&e.data&&(this.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:"",severity:""}).done(),this._oConnectionDetails.wattUsage===this._CATALOG_ODATA_ABAP?this._handleOnBeforeCloseOData(e):this._oConnectionDetails.wattUsage===this._CATALOG_APIMGMT_CATALOG&&this._handleOnSelectedForApiMgm(e))},getServiceConnectionData:function(e,t){var r=this,i=[],o=e.destination,a=n.getUrlPath(t),s=n.getDesigntimeUrl(o,a);o.wattUsage===this._CATALOG_ODATA_ABAP&&(t=s);var u=n.getRuntimeUrl(a,o);return o.wattUsage===this._CATALOG_GENERIC&&(u=s),e.isApimgmt&&(i.apiKey=e.apiKey),this.context.event.fireRequestSent().done(),s="/"!==s.charAt(s.length-1)?s+"/":s,this._callAjax(s+"$metadata","GET",null,"text",i).then(function(i){return""===i[0]?void r._throwValidate(new Error(r._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document"))):r.context.service.csdlParser.parse(i[0],null,null).then(function(a){return r.context.service.astLibrary.getRiverAstLibrary(a.response[0]).then(function(a){return r.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:"",metadata:a,runtimeUrl:u,url:t,type:r._CATALOG_RDL,destination:o,metadataContent:n.removeAbsoluteURL(i[0],o.url),apiKey:e.apiKey}})})}).fail(function(){r._throwValidate(new Error(r._i18n.getText("i18n","serviceCatalogWizardStep_could_not_parse_file")))})}).fail(function(e){r._throwValidate(new Error(e.statusText))}).fin(function(){r.context.event.fireRequestCompleted().done()})},_handleOnSelectedForApiMgm:function(e){if(e.data("APIProxy")){var t=this;this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedProduct",!1),this.oApiDescriptionText.setValue(e.data("Description"));var n=this._oConnectionDetails.url,r=e.data("APIProxy")+"?$expand=ToProxyEndPoints,ToAPIProducts";this.context.event.fireRequestSent().done();var i="/"===n[n.length-1]?n+r:n+"/"+r,o=new sap.ui.model.json.JSONModel;this._oServiceCallsQueue.next(function(){t._callAjax(i,"GET",null,"json").then(function(n,r,i){o.setData(n[0]),t.oProductsTree.setModel(o,"dataModel"),t.oProductsTree.bindNodes("dataModel>/d/ToAPIProducts/results",t.oAPIProductsNodeTemplate,null,[new sap.ui.model.Filter({test:function(){return!0},path:"name"})]);var a=n[0].d.ToAPIProducts.results.length>0;if(!a){var s=t._i18n.getText("i18n","catalogService_No_Products_for_API_Proxy");t._throwValidate(new Error(s),"info")}t.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bHasRelatedProduct",a),t.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedApiService",!0),e.data("ServiceUrl",n[0].d.ToProxyEndPoints.results[0].base_path),sap.ui.getCore().getEventBus().publish("servicecatalog","requestCompleted")}).fail(function(n){t._errorHandler(new Error(n.statusText),e)}).fin(function(){t.context.event.fireRequestCompleted().done()})})}},_handleOnBeforeCloseOData:function(e){if(e.data("ServiceUrl")){var t=this,r=e.data("ServiceUrl"),i=e.data("serviceName");this.context.event.fireRequestSent().done();var o="/"===r[r.length-1]?URI(r+"$metadata").path():URI(r+"/$metadata").path();o.indexOf(this._oConnectionDetails.url)===-1&&(o=o.replace(this._oConnectionDetails.path,this._oConnectionDetails.url)),this._oServiceCallsQueue.next(function(){t._callAjax(o,"GET",null,"text").then(function(o,a,s){return""===o[0]?void t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document"))):t.context.service.csdlParser.parse(o[0]).then(function(a){return t.context.service.astLibrary.getRiverAstLibrary(a.response[0]).then(function(a){return t.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:i,metadata:a,runtimeUrl:n.getRuntimeUrl(r,t._oConnectionDetails),url:r,type:t._CATALOG_RDL,destination:t._oConnectionDetails,metadataContent:n.removeAbsoluteURL(o[0],t._oConnectionDetails.url),sPath:e.getBindingContext().getPath()}})})}).fail(function(){t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_could_not_parse_file")))})}).fail(function(n){t._errorHandler(new Error(n.statusText),e)}).fin(function(){t.context.event.fireRequestCompleted().done()})})}},_handleCatalogComboBox:function(e){if(this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedApiService",!1),!e.getParameter("selectedItem")||""===e.getParameter("selectedItem").getText())return void this._resetTreeFields();var t=e.getParameter("selectedItem").data("connection");t&&(this._populateServicesTree(t),this._oConnectionDetails=t.destination,this._sConnectionUrl=t.url)},_populateServicesTree:function(e){var t=this;this._resetTreeFields(),this.context.event.fireRequestSent().done(),e&&this.getCatalog(e).then(function(e){t.oTree=e,t.oTree.attachBrowserEvent("contextmenu",t._onRightClick,t),t.oTree.attachBrowserEvent("dblclick",t._onSelectedTreeNode,t),e.setLayoutData(new sap.ui.layout.GridData({span:"L12 M12 S12"})),e.setShowHeader(!1),e.addStyleClass("serviceCatalogStepBottomMargin"),t.oGrid.addContent(e),t.context.event.fireRequestCompleted().done(),t._markAsDisabled(t.oSearchField,!1)}).fail(function(e){t._throwValidate(e),t.context.event.fireRequestCompleted().done()}).done()},_onRightClick:function(e){e.preventDefault();for(var t=e.target;t&&!t.attributes.id;)t=t.parentElement;if(t&&t.attributes.id){var n=t.attributes.id.value,r=sap.ui.getCore().byId(n);this.setCurrentSelectedDocument(r),this.context.service.contextMenu.open(this._oContextMenuGroup,e.pageX,e.pageY).done()}},_onAPIServiceToggle:function(e){e.getSource()},_onServiceToggle:function(e){var t=this,n=e.getSource();if(n.getNodes()&&0===n.getNodes().length&&(this.context.event.fireRequestSent().done(),this._oConnectionDetails.wattUsage===this._CATALOG_ODATA_ABAP)){var r=n.data("ServiceUrl"),i=n.data("sap_client");r.indexOf(this._oConnectionDetails.url)===-1&&(r=r.replace(this._oConnectionDetails.path,this._oConnectionDetails.url));var o=URI(r).path(),a=n.data("metadata");a||this._oServiceCallsQueue.next(function(){t.context.service.odataProvider.getMetadata(o,i).then(function(e){n.data("metadata",e),require(["sap.watt.saptoolsets.fiori.project.servicecatalog/providers/ODataTreeNodesProvider"],function(r){try{r.getCatalogServiceTreeNodes(e,t.context.service.odataProvider,t.context.i18n).forEach(function(e){n.addNode(e)})}catch(e){t._errorHandler(e,n)}},t._throwValidate)}).fail(function(e){t._errorHandler(e,n)}).fin(function(){t.context.event.fireRequestCompleted().done()})})}},_doSuggest:function(e){this.nodes||(this.nodes=this.oTree.getNodes());var t=this;this.oTree.removeAllNodes(),this.nodes.forEach(function(n){n.getText().toLowerCase().indexOf(e.getParameter("value").toLowerCase())!==-1&&t.oTree.addNode(n)})},_errorHandler:function(e,t){var n="";t.getHasExpander()&&(n=e&&e.response&&e.response.statusText?e.response.statusText:e.statusText?e.statusText:e.message,t.setIsSelected(!1),t.setSelectable(!1),t.addStyleClass("serviceCatalogTreeNode"),t.setText(t.getText()),t.setHasExpander(!1),t.data("ServiceUrl",void 0),t.data("APIProxy",void 0),this.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:""}).done())},_throwValidate:function(e,t){var n="";e.status&&401===e.status||(n=this._i18n.getText("i18n","odata_request_failed")),e.detailedMessage&&(n=e.detailedMessage),e.message&&(n=e.message),t||(t=""),this.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:t}).done()},_getFormatterConnections:function(e,t){var r=this,i=[];return e&&(i=3===t?n.getFormatterConnections(e,[this._CATALOG_ODATA_ABAP,this._CATALOG_GENERIC]):n.getFormatterConnections(e,[this._CATALOG_ODATA_ABAP,this._CATALOG_APIMGMT_CATALOG]),i.forEach(function(e){e.type!==r._CATALOG_ODATA_ABAP||e.isFullUrl||(e.url=e.url+"/IWFND/CATALOGSERVICE;v=2")})),i},_onSelectedTreeNode:function(e){e&&e.getSource&&(e.getSource().data("ServiceUrl")||e.getSource().data("RDLApplicationName")&&e.getSource().data("RDLPackage")||e.getSource().data("serviceName")||e.getSource().data("APIProxy"))&&this._onBeforeClose(e.getSource())},_onSubscribeToProduct:function(){var e=this,t=this.oProductsTree.getSelection(),r=t.getText(),i=this.oTree.getSelection(),o=i.data("ServiceUrl"),a=i.data("ServiceName"),s=Q.defer(),u=o.split("/"),c=u.splice(0,3).join("").length+3;if(!e._oApiManagmentEndPointDest)return void e._throwValidate(new Error(e._i18n.getText("i18n","catalogService_No_Destination_for_API_Endpoint")));var l=e._oApiManagmentEndPointDest.url+"/"+o.substring(c);this.context.event.fireRequestSent().done();var p=this._context?this._context.appName:"",f={id:"0",version:"1",title:p,ToAPIProductsDetails:[{__metadata:{uri:"APIMgmt.APIProducts('"+r+"')"}}]},d=this._oConnectionDetails.url+"/APIMgmt.Applications";return this._callAjax(d,"POST",f,"json").then(function(t){var i=t[0].d.id,o=d+"('"+i+"')";e._callAjax(o,"GET",null,"json").then(function(i){e.appKey=i[0].d.app_key,e.appSecret=i[0].d.app_secret;var o={APIKey:e.appKey,appSecret:e.appSecret};e._callAjax(l+"/$metadata","GET",null,"text",o).then(function(i){if(""===t[0])throw e._throwValidate(new Error(e._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document")));return e.context.service.csdlParser.parse(i[0]).then(function(t){return e.context.service.astLibrary.getRiverAstLibrary(t.response[0]).then(function(t){return e.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:a,productName:r,metadata:t,runtimeUrl:l,url:l,apiKey:e.appKey,appSecret:e.appSecre,type:e._CATALOG_RDL,destination:e._oApiManagmentEndPointDest,metadataContent:n.removeAbsoluteURL(i[0],e._oApiManagmentEndPointDest.url)}})})}).fail(function(){e._throwValidate(new Error(e._i18n.getText("i18n","serviceCatalogWizardStep_could_not_parse_file")))})}).fail(function(t){e._throwValidateror(new Error(t.statusText));var n=new Error(e._i18n.getText("i18n","ajax_request_failed",[t.statusText]));s.reject(n)}).fin(function(){e.context.event.fireRequestCompleted().done()})})}).fail(function(t){e._throwValidate(new Error(t.statusText));var n=new Error(e._i18n.getText("i18n","ajax_request_failed",[t.statusText]));e._setXHRDataToError(n,t),s.reject(n)}).done(),s.promise},_getAPIMgmtCatalog:function(e){var t=this,n=new sap.ui.commons.TreeNode({text:{parts:["proxiesModel>title","proxiesModel>description","proxiesModel>version"],formatter:function(e,t,n){return e+" ["+t+"] version "+n}},expanded:!1,hasExpander:!1,selected:[t._onSelectedTreeNode,t],toggleOpenState:[t._onAPIServiceToggle,t]}).data("APIProxy","APIMgmt.APIProxies('{proxiesModel>name}')").data("Description","{proxiesModel>description}").data("ServiceName","{proxiesModel>name}"),r=new sap.ui.model.json.JSONModel,i=Q.defer(),o=e.url+"/APIMgmt.APIProxies";return this._callAjax(o,"GET",null,"json").then(function(e){r.setData(e[0]),t.oTree.setModel(r,"proxiesModel"),t.oTree.bindNodes("proxiesModel>/d/results",n,null,[new sap.ui.model.Filter({test:function(){return!0},path:"name"})]),t.oSearchField&&t._markAsDisabled(t.oSearchField,!1),sap.ui.getCore().getEventBus().publish("servicecatalog","requestCompleted"),i.resolve(t.oTree)}).fail(function(e){t._throwValidate(new Error(e.statusText));var n=new Error(t._i18n.getText("i18n","ajax_request_failed",[e.statusText]));t._setXHRDataToError(n,e),i.reject(n)}).done(),i.promise},_getODataCatalog:function(e,t){var n=this,r=new sap.ui.commons.TreeNode({text:{parts:["Title","Description"],formatter:function(e,t){return e+" ["+t+"]"}},expanded:!1,hasExpander:!0,selected:[n._onSelectedTreeNode,n],toggleOpenState:[n._onServiceToggle,n]}).data("ServiceUrl",{parts:["ServiceUrl"],formatter:function(e){return URI(e).path()}}).data("serviceName","{Title}"),i=new sap.ui.model.odata.ODataModel(e.url,!0,null,null,{},!1,!1,!0);this._getNumOfCatalogServiceCollections(i).then(function(e){i.setSizeLimit(e),n.oTree.setModel(i)});var o=t;return o||(o=Q.defer()),i.attachRequestCompleted(function(e){if(!e.getParameter("success")){var t=new Error(n._i18n.getText("i18n","serviceCatalog_request_failed"));t.status=404,o.reject(t)}n.oSearchField&&n._markAsDisabled(n.oSearchField,!1),sap.ui.getCore().getEventBus().publish("servicecatalog","requestCompleted"),o.resolve(n.oTree)}),i.attachMetadataFailed(function(){var t=e.url.indexOf(";v="),r=arguments[0].getParameters().statusCode;if(t>-1&&403===r)e.url=e.url.substring(0,t),n._getODataCatalog(e,o);else{var i,a,s=e.isFullUrl;404===r&&s?(i=n._i18n.getText("i18n","odata_full_url_request_failed"),a=r):(i=n._i18n.getText("i18n","odata_request_failed"),a=401);var u=new Error(i);u.status=a,o.reject(u)}}),i.attachMetadataLoaded(function(){n.oTree.bindNodes({path:"/ServiceCollection",template:r,parameters:{navigation:{}}})}),o.promise},_getNumOfCatalogServiceCollections:function(e){var n=Q.defer(),r=8e3;return e.read("/ServiceCollection/$count",null,null,!0,function(e,i){var o=t.parseInt(i.body);t.isNaN(o)&&(o=r),n.resolve(o)},function(e){n.resolve(r)}),n.promise},_getRDLCatalog:function(e){var t=this,n=new sap.ui.commons.TreeNode({text:{parts:["name","pkg"],formatter:function(e,t){return e+" ["+t+"]"}},selected:[t._onSelectedTreeNode,t],expanded:!1,hasExpander:!0,toggleOpenState:[t._onServiceToggle,t]}).data("RDLApplicationName","{name}").data("RDLPackage","{pkg}"),r=new sap.ui.model.json.JSONModel,i=Q.defer();return this._callAjax(e.url+"/sap/hana/rdl/catalog/service/search?exp=*","GET",null).then(function(e){r.setData(e[0]),t.oTree.setModel(r),t.oTree.bindNodes("/d/results",n),t.oSearchField&&t._markAsDisabled(t.oSearchField,!1),sap.ui.getCore().getEventBus().publish("servicecatalog","requestCompleted"),i.resolve(t.oTree)}).fail(function(e){t._throwValidate(new Error(e.statusText));var n=new Error(t._i18n.getText("i18n","ajax_request_failed",[e.statusText]));t._setXHRDataToError(n,e),i.reject(n)}).done(),i.promise},_callAjax:function(e,t,n,r,i){return i||(i={}),i["Content-Type"]="application/json",void 0!==i.apiKey&&(i["Cache-Control"]="no-cache",i["no-store"]="must-revalidate"),"POST"==t?(i["X-CSRF-Token"]="Fetch",Q.sap.ajax({type:"GET",url:e,headers:i,dataType:r,beforeSend:function(e){e.setRequestHeader("X-Requested-With",{toString:function(){return""}})}}).then(function(o){return i["X-CSRF-Token"]=o[1].getResponseHeader("X-CSRF-Token"),Q.sap.ajax({type:t,url:e,data:JSON.stringify(n),headers:i,dataType:r,beforeSend:function(e){e.setRequestHeader("X-Requested-With",{toString:function(){return""}})}})})):Q.sap.ajax({type:t,url:e,data:n?JSON.stringify(n):null,headers:i,dataType:r,beforeSend:function(e){e.setRequestHeader("X-Requested-With",{toString:function(){return""}})}})},_setXHRDataToError:function(e,t){e.status=t.status,e.statusText=t.statusText,e.responseText=t.responseText,e.responseJSON=t.responseJSON},getContent:function(){var e=this,t={};return this.oCatalogViewer&&this.oCatalogViewer.destroy(),jQuery.sap.require("sap.gateway.uitools.CatalogViewer"),this.oCatalogViewer=new sap.gateway.uitools.CatalogViewer({context:this.context,isDetailVisible:!0,isSingleSystemSelect:!0,isSystemVisible:!0,isDescriptionVisible:!0,isGeneriCatalog:!0,width:"100%",layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"}),catalogRequestSent:function(n){e.context.event.fireRequestSent().done(),t=n.getParameters().destinationObject.destination},serviceRequestSent:function(){e.context.event.fireRequestSent().done()},requestCompleted:function(){e.context.event.fireRequestCompleted().done()},serviceMetaDataLoaded:function(r){var i=r.oSource.selectedServiceModel;if(i){var o=new URI(i.ServiceUrl),a=o.path()+o.search(),s=r.getParameter("edmxContent");return e.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:i.ODataNodeTitle,metadata:null,runtimeUrl:n.getRuntimeUrl(a,t),url:a,type:e._CATALOG_RDL,destination:t,metadataContent:n.removeAbsoluteURL(s,t.url),sPath:"/ServiceCollection('"+i.ID+"')"}})}},subscriptionSuccess:function(t){e.context.event.fireRequestCompleted().done()},subscriptionFail:function(t){e.context.event.fireRequestCompleted().done()},productsFound:function(t){e.context.event.fireRequestCompleted().done()},isValid:function(t){e.context.event.fireRequestCompleted().done();var n=t.getParameters().message;n&&e.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:"error"}).done()}}),this.oCatalogViewer},setSelectedNode:function(e){return this._onBeforeClose(e)},setServiceContext:function(e){this._context=e},getCatalog:function(e){return this.oTree=new sap.ui.commons.Tree({showHeaderIcons:!1,height:"300px",width:"100%",visible:{path:"bSelectAPIStep",formatter:function(e){return e}}}),this.oSearchField&&this._markAsDisabled(this.oSearchField,!0),sap.ui.getCore().getEventBus().publish("servicecatalog","requestSent"),e.type===this._CATALOG_RDL?this._getRDLCatalog(e):e.type===this._CATALOG_ODATA_ABAP?this._getODataCatalog(e):e.type===this._CATALOG_APIMGMT_CATALOG?this._getAPIMgmtCatalog(e):void 0},cleanSelection:function(){this.oTree&&(this.oTree.collapseAll(),this.oTree.getSelection()&&this.oTree.getSelection().setIsSelected(!1)),this.oProductsTree&&(this.oProductsTree.collapseAll(),this.oProductsTree.getSelection()&&this.oProductsTree.getSelection().setIsSelected(!1)),this.oServiceInfoAndDetailsGrid&&(this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedApiService",!1),this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectAPIStep",!0),this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bHasRelatedProduct",!1),this.oServiceInfoAndDetailsGrid.getModel().setProperty("/modelData/bSelectedProduct",!1))},cleanGrid:function(){this.cleanSelection(),this.oServiceInfoAndDetailsGrid=void 0},getFocusElement:function(){return this.oServiceInfoAndDetailsGrid},getSelection:function(e){return this._oCurrentSelectedDocument},setCurrentSelectedDocument:function(e){e?this._oCurrentSelectedDocument={document:e}:this._oCurrentSelectedDocument=null,this.context.event.fireSelectionChanged().done()}});return r}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/service/MTACatalogViewer",["sap/watt/platform/plugin/platform/service/ui/AbstractPart","sap/watt/lib/lodash/lodash","../utils/DataConnectionUtils"],function(e,t,n){var r=e.extend("sap.watt.saptoolsets.fiori.project.servicecatalog.service.MTACatalog",{_oServiceCallsQueue:new Q.sap.Queue,_oServiceInformationLabel:null,_context:null,_oTreeTable:null,_oGrid:null,configure:function(e){e.styles&&this.context.service.resource.includeStyles(e.styles).done()},_i18n:void 0,init:function(){jQuery.sap.require("sap.ui.core.util.MockServer")},_isV4Version:function(e){return t.isString(e)?/]*version="4.0"/i.test(e):"4.0"===t.get(e,"version")},_createGrid:function(){this.oServiceInfoAndDetailsGrid=new sap.ui.layout.Grid({vSpacing:0,layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"})}),this._oGrid=new sap.ui.layout.Grid({hSpacing:0,vSpacing:0,layoutData:new sap.ui.layout.GridData({span:"L7 M7 S7"})}).addStyleClass("serviceCatalogMainGridBorder"),this._oServiceInformationLabel=new sap.ui.commons.Label({text:"xs2"===sap.watt.getEnv("server_type")?"{i18n>dataConnectionWizardStep_oMTAServicesInformationLabel}":"",textAligh:"Left",width:"100%",layoutData:new sap.ui.layout.GridData({span:"L7 M7 S7"})}).addStyleClass("serviceCatalogHeaderLabel"),this.oServiceInfoAndDetailsGrid.addContent(this._oServiceInformationLabel),this.oServiceInfoAndDetailsGrid.addContent(this._oGrid)},_resetTreeFields:function(){this._oTreeTable&&(this._oGrid.removeContent(this._oTreeTable),this.context.event.fireValidateNextSent({bNextEnabled:!1,message:"",severity:""}).done())},_addServicesTree:function(){var e=this;return this.context.service.mtaodatadiscovery.getMTAProjects().then(function(t){var n=t[0].name;e._resetTreeFields(),e.context.event.fireRequestSent().done(),e.getCatalog(n).then(function(t){e._oTreeTable=t,t.setLayoutData(new sap.ui.layout.GridData({span:"L12 M12 S12"})),e._oGrid.addContent(t),e.context.event.fireRequestCompleted().done()}).fail(function(t){e._throwValidate(t),e.context.event.fireRequestCompleted().done()}).done()})},_toggleTree:function(e,t){var n=this,r=e.actualData;return this._oServiceCallsQueue.next(function(){return n.context.service.odataProvider.validateMetadata(r).then(function(e){return require(["sap.watt.saptoolsets.fiori.project.servicecatalog/providers/MTAODataObjectTreeProvider"],function(i){var o=i.buildODataTreeObject(e,t,r);n._oTreeTable.getModel().setProperty(t+"/children",o)})}).fail(function(e){n._throwValidate(e)}).fin(function(){n.context.event.fireRequestCompleted().done()})})},_onServiceToggle:function(e){var t=this,n=e.getParameter("rowContext"),r=n&&n.sPath,i=e.getSource();if(i&&r){var o=i.getModel().getProperty(r);if(o.isRoot){var a=o.actualData,s=this._isV4Version(a);return s?void 0:a?t._toggleTree(o,r):t._retrieveMetaDataFromService(o).then(function(e){return t._toggleTree(o,r)})}}},_throwValidate:function(e,t){var n="";e.status&&401===e.status||(n=this._i18n.getText("i18n","odata_request_failed")),e.detailedMessage&&(n=e.detailedMessage),e.message&&(n=e.message),t||(t=""),this.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:t}).done()},_onSelectedTreeNode:function(e){var t=e.getParameter("rowContext"),n=t&&t.sPath,r=e.getSource(),i=r.getModel().getProperty(n);if(r&&n&&i.isRoot)return this.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:"",severity:""}).done(),this._retrieveMetaDataFromService(i)},_isHanaWebIde:function(){return"xs2"===sap.watt.getEnv("server_type")},_getDestination:function(e,t,n){var r={};if(!this._isHanaWebIde()){var i="Dummy destination to be mapped to a real destination when running the application (hc_destmapping URL parameter)",o="destination-placeholder";r={description:i,name:o,path:n,entryPath:n}}return r},_retrieveMetaDataFromService:function(e){var t=this,n=e.serviceName,r=e.servicePath,i=e.serviceType,o=e.serviceModulePath,a=e.moduleName,s="_be";return this.context.event.fireRequestSent().done(),this._isHanaWebIde()||(r=r+"/"+n+"/",s="_api"),this._oServiceCallsQueue.next(function(){return t.context.service.mtaodatadiscovery.getServiceMetadata(o,r).then(function(u,c,l){var p="";return p=u.documentElement?(new XMLSerializer).serializeToString(u.documentElement):u,""===p?void t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document"))):t._isValidXml(p)?t.context.service.odatav4handler.isV4Version(p).then(function(u){e.actualData=p;var c=e.dependentModule?e.dependentModule:a,l=t._getDestination(i,c,e.servicePath);return u?t.context.service.odatav4handler.getV4Object(p).then(function(e){if("V4"===e.version)return t.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:n,metadata:e.obj,runtimeUrl:r,url:"",type:i,metadataContent:p,sPath:o,moduleDependency:{dependentDestination:c+s,dependentModule:c},destination:l}})}).fail(function(){t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document")));
}):t.context.service.csdlParser.parse(p).then(function(e){return t.context.service.astLibrary.getRiverAstLibrary(e.response[0]).then(function(e){return t.context.event.fireServiceSelectionCompleted({connectionData:{serviceName:n,metadata:e,runtimeUrl:r,url:"",type:i,metadataContent:p,sPath:o,moduleDependency:{dependentDestination:c+s,dependentModule:c},destination:l}})})}).fail(function(){t._throwValidate(new Error(t._i18n.getText("i18n","MTAserviceCatalogWizardStep_V4_not_supported")))})}).fail(function(e){t._throwValidate(new Error(e.statusText))}).fin(function(){t.context.event.fireRequestCompleted().done()}):void t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document")))})})},_isValidXml:function(e){var t=new DOMParser,n=t.parseFromString(e,"text/xml");return 0===n.getElementsByTagName("parsererror").length},_setXHRDataToError:function(e,t){e.status=t.status,e.statusText=t.statusText,e.responseText=t.responseText,e.responseJSON=t.responseJSON},getContent:function(){return this._i18n=this.context.i18n,this._createGrid(),this._addServicesTree(),this.context.service.focus.attachFocus(this.context.self).done(),this._i18n.applyTo(this.oServiceInfoAndDetailsGrid),this.oServiceInfoAndDetailsGrid},getCatalog:function(e){var t=this,n=new sap.ui.commons.layout.HorizontalLayout({}),r=new sap.ui.commons.Label({text:"{ODataNodeTitle}",tooltip:"{serviceModulePath}"}),i=new sap.ui.commons.Image({src:"{ODataNodeImage}"});i.addStyleClass("nodeImage"),n.addContent(i),n.addContent(r),this._oTreeTable=new sap.ui.table.TreeTable({layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12",linebreak:!0}),showColumnVisibilityMenu:!1,visibleRowCount:6,allowColumnReordering:!1,selectionMode:sap.ui.table.SelectionMode.Single,selectionBehavior:sap.ui.table.SelectionBehavior.RowOnly,expandFirstLevel:!1,visibleRowCountMode:sap.ui.table.VisibleRowCountMode.Fixed,toggleOpenState:[t._onServiceToggle,t],rowSelectionChange:[t._onSelectedTreeNode,t],rows:{path:"/services",arrayNames:["children"]}});var o=new sap.ui.table.Column({label:"{i18n>MTAserviceCatalogWizardStep_Service_Column}",template:n,width:"50%"});this._oTreeTable.addColumn(o);var a=new sap.ui.table.Column({label:"{i18n>MTAserviceCatalogWizardStep_ModuleType_Column}",template:(new sap.ui.commons.TextView).bindProperty("text","description"),width:"30%"}),s=new sap.ui.table.Column({label:"{i18n>MTAserviceCatalogWizardStep_ModuleName_Column}",template:(new sap.ui.commons.TextView).bindProperty("text","moduleName"),width:"20%"}),u=new sap.ui.table.Column({label:"{i18n>MTAserviceCatalogWizardStep_Service_Status}",template:(new sap.ui.commons.TextView).bindProperty("text","status"),width:"20%"});this._oTreeTable.addColumn(a),this._oTreeTable.addColumn(s),"xs2"===sap.watt.getEnv("server_type")&&this._oTreeTable.addColumn(u),sap.ui.getCore().getEventBus().publish("servicecatalog","requestSent");var c={services:[]},l=new sap.ui.model.json.JSONModel(c);return t._oTreeTable.setModel(l),this.context.service.mtaodatadiscovery.getServicesForMTA(e).then(function(e){var n=t.getServicesListTreeNodes(e);if(0===n.length){var r=t._i18n.getText("i18n","MTAserviceCatalogWizardStep_NoServices");t._oServiceInformationLabel.setText(r)}return l.setProperty("/services",n),t._oTreeTable})},getServicesListTreeNodes:function(e){return e.forEach(function(e){e.serviceNameDisplay?e.ODataNodeTitle=e.serviceNameDisplay:e.ODataNodeTitle=e.serviceName,e.ODataNodeImage=require.toUrl("sap.watt.saptoolsets.fiori.project.servicecatalog/img/ServiceNormal.png"),e.children=[{name:""}],e.isRoot=!0}),e},cleanSelection:function(){this._oTreeTable&&(this._oTreeTable.collapseAll(),this._oTreeTable.clearSelection())},cleanStep:function(){this.cleanSelection(),this.oServiceInfoAndDetailsGrid=void 0},getFocusElement:function(){return this.oServiceInfoAndDetailsGrid}});return r}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/service/ServiceDiscovery",["sap/watt/platform/plugin/platform/service/ui/AbstractPart","../utils/DataConnectionUtils"],function(e,t){var n=e.extend("sap.watt.saptoolsets.fiori.project.servicecatalog.service.CatalogEx",{_CATALOG_RDL:"river",_oContextMenuGroup:null,configure:function(e){e.styles&&this.context.service.resource.includeStyles(e.styles).done()},_createConnectionData:function(e,n,r){var i,o={},a="",s=e.getParameter("edmxContent");o.metadata=null,o.runtimeUrl="",o.url="",o.destination=null,o.sPath="",o.type=this._CATALOG_RDL,o.serviceName="",o.sPath="";var u="api_mgmt_catalog"===r.wattUsage,c="apihub_catalog"===r.wattUsage,l="hci_catalog"===r.wattUsage,p=r;(u||c||l)&&(p=e.getParameter("MetadataEndPtDestination"));var f;switch(n){case"Generic":f=e.oSource.selectedServiceModel,f&&(o.serviceName=f.ODataNodeTitle,o.destination=p,i=new URI(f.ServiceUrl),a=i.path()+i.search(),u?(a=t.getDesigntimeUrl(p,a),o.productName=f.ProductName,o.apiKey=f.AppKey):c?(a=t.getDesigntimeUrl(p,a),o.apiKey=e.getParameter("ApiKey")):l?a=t.getDesigntimeUrl(p,a):o.sPath="/ServiceCollection('"+encodeURIComponent(f.ID)+"')",o.runtimeUrl=t.getRuntimeUrl(a,p),o.url=a);break;case"PasteURL":f=e.oSource.serviceDetailObject,f&&(i=new URI(f.runtimeServiceUrl),a=i.path()+i.search(),o.serviceName=f.serviceName,o.runtimeUrl=t.getRuntimeUrl(f.destinationURL,p),o.url=t.getDesigntimeUrl(p,a),o.destination=p)}return o.metadataContent=t.removeAbsoluteURL(s,p.url),o},getContent:function(e){var t=this,n={};jQuery.sap.require("sap.gateway.uitools.CatalogViewer");var r=new sap.gateway.uitools.CatalogViewer({context:this.context,isDetailVisible:!0,isSingleSystemSelect:!0,isSystemVisible:!0,isDescriptionVisible:!0,isGeneriCatalog:!0,width:"100%",templateODataVersion:e,layoutData:new sap.ui.layout.GridData({span:"L12 M12 S12"}),catalogRequestSent:function(e){t.context.event.fireRequestSent().done(),e.getParameters().destinationObject&&(n=e.getParameters().destinationObject.destination)},serviceRequestSent:function(e){t.context.event.fireRequestSent().done(),e.oSource.oPasteURLSelectedDestination&&(n=e.oSource.oPasteURLSelectedDestination.destination)},requestCompleted:function(){t.context.event.fireRequestCompleted().done()},serviceMetaDataLoaded:function(e){return t.context.event.fireRequestSent().done(),t.xmlMetadata=e.getParameter("edmxContent"),t.oConnectionData=t._createConnectionData(e,this.getCatalogViewType(),n),t.context.service.odatav4handler.isV4Version(t.xmlMetadata).then(function(e){return e?t.context.service.odatav4handler.getV4Object(t.xmlMetadata).then(function(e){if("V4"===e.version)return t.oConnectionData.metadata=e.obj,t.metadataContent=t.xmlMetadata,t.context.event.fireRequestCompleted().done(),t.context.event.fireServiceSelectionCompleted({connectionData:t.oConnectionData})}).fail(function(){t._throwValidate(new Error(t._i18n.getText("i18n","serviceCatalogWizardStep_invalid_document")))}):t.context.service.csdlParser.parse(t.xmlMetadata,null,null).then(function(e){return t.context.service.astLibrary.getRiverAstLibrary(e.response[0]).then(function(e){return t.oConnectionData.metadata=e,t.context.event.fireRequestCompleted().done(),t.metadataContent=t.xmlMetadata,t.context.event.fireServiceSelectionCompleted({connectionData:t.oConnectionData})})}).fail(function(e){t.context.event.fireRequestCompleted().done();var n=t.context.i18n.getText("i18n","serviceCatalogWizardStep_could_not_parse_file");t.context.service.log.error("Service Discovery",n+": "+e,["user"]).done(),t.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:"error"}).done()})})},subscriptionSuccess:function(e){t.context.event.fireRequestCompleted().done()},subscriptionFail:function(e){t.context.event.fireRequestCompleted().done();var n=e.getParameters().message;t.context.event.fireValidateNextSent({bNextEnabled:!1,sMessage:n,severity:"error"}).done()},productsFound:function(e){t.context.event.fireRequestCompleted().done()},isValid:function(e){if(t.context.event.fireRequestCompleted().done(),"ServiceTree"!==this.getCatalogViewType()){var n=e.getParameters().message,r=!!e.getParameters().isValid;!r&&n?t.context.event.fireValidateNextSent({bNextEnabled:r,sMessage:n,severity:"error"}).done():t.context.event.fireValidateNextSent({bNextEnabled:r,sMessage:n}).done()}}});return r}});return n}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/service/Connectivity",{_getFileFromFolder:function(e,t){for(var n=0;n0&&(this._aExtensionFilters=e.repositoryBrowserExtensionFilters),e.contextMenu?this.context.service.commandGroup.getGroup(e.contextMenu).then(function(e){t._oContextMenuGroup=e}):void(e.apiHubWizardStep&&(apiHubService=e.apiHubWizardStep.service))},getContent:function(){jQuery.sap.require("sap.watt.saptoolsets.ui5.project.plugin.servicecatalog.ui.wizard.ServiceCatalogWizardStep"),this._step=new sap.watt.saptoolsets.ui5.project.plugin.servicecatalog.ui.wizard.ServiceCatalogWizardStep({context:this.context,extensionFilters:this._aExtensionFilters,destinationCreationService:this.context.service.destinationcreation,apiHubService:apiHubService});var e=this.context.i18n.getText("serviceCatalogWizardStep_title_label"),t=this.context.i18n.getText("dataConnectionWizardStep_oInstructionLabel_choose_service");return this.context.service.wizard.createWizardStep(this._step,e,t)},setProgressBarOn:function(){this._step.fireProcessingStarted()},setProgressBarOff:function(){this._step.fireProcessingEnded()},createDetailsContent:function(){this._step.createDetailsContent()},onCatalogServiceSelectionSuccess:function(e){this._step.onCatalogServiceSelectionSuccess(e.params.connectionData)},onServiceCatalogStepNext:function(e){this._step.onServiceCatalogStepNext(e.params.bNextEnabled,e.params.sMessage,e.params.severity)}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/service/ConnectivityComponentFinishStep",{getContent:function(){jQuery.sap.require("sap.watt.saptoolsets.ui5.project.plugin.servicecatalog.ui.wizard.ConnectivityComponentFinishStep");var e=new sap.watt.saptoolsets.ui5.project.plugin.servicecatalog.ui.wizard.ConnectivityComponentFinishStep({context:this.context});return this.context.service.wizard.createWizardStep(e,"","")}}),define("sap.watt.saptoolsets.fiori.project.servicecatalog/service/DataConnectionUtilsProvider",[],function(){return{getDataConnectionUtils:function(){return Q.sap.require("sap.watt.saptoolsets.fiori.project.servicecatalog/utils/DataConnectionUtils").then(function(e){return e})}}}),define("sap.watt.saptoolsets.fiori.rdlastlibrary/service/astPrint",[],function(){function e(){this.printNode=function(e,o){function a(){var e=[],i=r(F);e.push(i+"namespace "),o=P(o,e);var a=o.getAccessibleByList(),s=o.getAnnotations(),u=o.getNestedContexts(),c=o.getNestedEntities(),l=o.getElements(),p=o.getActions(),f=o.getNestedTypes();n(s)&&(jQuery.each(o.getAnnotations(),function(){t(this)||this.print(I,0)}),I.push("\n"+i)),"APPLICATION"===o.componentType?I.push("application "+o.getFullyQualifiedName()+" "):I.push(e.join("")+o.getName()+" "),n(a)&&(I.push("accessible by "),jQuery.each(a,function(){t(this)||this.print(I,0)})),I.push("{\n"),F++,e=I.length,jQuery.each(u,function(){t(this)||this.print(I,F)}),I.length!==e&&n(c)&&(I.push("\n"),e=I.length),jQuery.each(c,function(){t(this)||this.print(I,F)}),I.length!==e&&n(l)&&(I.push("\n"),e=I.length),jQuery.each(l,function(){t(this)||this.print(I,F)}),I.length!==e&&n(p)&&(I.push("\n"),e=I.length),jQuery.each(p,function(){t(this)||this.print(I,F)}),I.length!==e&&n(f)&&I.push("\n"),jQuery.each(f,function(){t(this)||this.print(I,F)}),I.push(i+"}\n")}function s(){I.push(r(F)+(o.exported?"export ":"")+"view "+o.getName()+" as\n"),F++,o.getQuery().print(I,F),I.push(";\n")}function u(){var e=I.length,i=r(F),a=o.getActions(),s=o.getNestedTypes();I.push(i+(o.exported?"export ":"")+"entity "+o.getName()+" {\n"),F++,jQuery.each(o.getConstElements(),function(){t(this)||this.print(I,F)}),jQuery.each(o.getElements(),function(){t(this)||this.print(I,F)}),I.length!==e&&n(a)&&(I.push("\n"),e=I.length),jQuery.each(a,function(){t(this)||this.print(I,F)}),I.length!==e&&n(s)&&I.push("\n"),jQuery.each(s,function(){t(this)||this.print(I,F)}),I.push(i+"}\n")}function c(){I.push(r(F)),jQuery.each(o.getAnnotations(),function(){t(this)||this.print(I,0)}),I.push("const "),I.push(o.getName()),I.push(T(o,o.getType()));var e=o.defaultExpression||o.calculatedExpression;t(e)||(I.push(o.defaultExpression?" default ":" = "),e.print(I,0)),I.push(";\n")}function l(){var e=A(o).instanceOf("IEnum");I.push(r(F)),jQuery.each(o.getAnnotations(),function(){t(this)||this.print(I,0)}),o.isKey&&I.push("key "),e||I.push("element "),I.push(o.getName()),I.push(T(o,o.getType()));var n=o.defaultExpression||o.calculatedExpression;t(n)||(I.push(!e&&o.defaultExpression?" default ":" = "),n.print(I,0)),I.push(";\n")}function p(){var e=r(F),n=[],i=o.getDefaultReturnParameter();I.push(e+"action "+o.getName()+" ("),jQuery.each(o.getParameters(),function(){t(this)||this.print(n,0)}),I.push(n.join(", ")),I.push(")"),i.print(I,0),I.push(" {\n"),F++,I.push(r(F)+"/* add your code here */\n"),t(i.getType())||I.push(r(F)+"return null; //this is generate code!\n"),I.push(e+"}\n")}function f(){I.push((o.instanceOf("IRdlNamedParameter")?o.getName():"")+T(o,o.getType()))}function d(){var e=r(F);I.push(e+"type "+o.getName()),I.push(T(o,o.getFrom())),I.push(" enum {\n"),F++,jQuery.each(o.getEnumValues(),function(){t(this)||this.print(I,F)}),I.push(e+"}\n")}function h(){var e=r(F);I.push(e+"type "+o.getName()+" {\n"),F++,jQuery.each(o.getElements(),function(){t(this)||this.print(I,F)}),I.push(e+"}\n")}function m(){I.push(r(F)+"type "+o.getName()),I.push(T(o,o.getFrom())),I.push(";\n")}function g(){I.push("@"+o.getName()+" ")}function v(){I.push(o.getName()+" ")}function y(){(o.upperBound>1||o.lowerBound===o.upperBound)&&I.push("["+o.lowerBound+".."+(4294967295===o.upperBound?"*":o.upperBound)+"] ")}function x(){function e(){if(n.instanceOf("IRdlStructuredType")){var e=[],t=r(F);jQuery.each(n.getElements(),function(){e.push(t+this.getName())}),I.push(e.join(","+(a?"\n":" ")))}else i("_printQLQuery.MISSING TYPE "+n.$intf)}var t=r(F),n=o.getType(),a=n.instanceOf("IArray");I.push(t+"SELECT "),o.isReturnOne?I.push("ONE"):o.topNum&&I.push("TOP "+o.topNum.intValue+" "),a||(I.push(" "),e(),I.push(" ")),o.getFrom().print(I,F),a&&(I.push("{\n"),F++,n=n.getType(),e(),F--,I.push("\n"+t+"}")),o.where&&(I.push("\n"),I.push(t+"WHERE ???")),o.groupBy&&(I.push("\n"),o.groupBy.print(I,F)),o.orderBy&&(I.push("\n"),o.orderBy.print(I,F))}function b(){var e=[];I.push("FROM "),jQuery.each(o.getElements(),function(){t(this)||this.print(e,0)}),I.push(e.join(", ")+" ")}function _(){var e=o.expr,t="";e.instanceOf("IIdentifierExpression")?t=e.getName():i("_printQLFromElement.MISSING TYPE "+e.$intf),o.alias&&(t+=" as "+o.alias),I.push(t)}function w(){var e=r(F),t=[];I.push(e+"GROUP BY\n"),jQuery.each(o.getEntries(),function(){var n=e;this.instanceOf("IDataAccessExpr")?n+=this.getName():i("_printQLGroupBy.MISSING TYPE "+this.$intf),t.push(n)}),I.push(t.join(",\n"))}function E(){var e=r(F),t=[];I.push(e+"ORDER BY\n"),jQuery.each(o.getEntries(),function(){var e=[];this.print(e,F),t.push(e.join(""))}),I.push(t.join(",\n"))}function S(){var e=o.expr,t=r(F);I.push(t),e.instanceOf("IIdentifierExpression")?I.push(e.getName()):e.instanceOf("IExprAgg")?I.push("SUM(???)"):i("_printQLOrderBy.MISSING TYPE "+e.$intf),"Descending"===o.order&&I.push(" DESC")}function C(){if(o.instanceOf("IFalseExpression"))return I.push("false");if(o.instanceOf("ITrueExpression"))return I.push("true");if(o.instanceOf("INullExpression"))return I.push("NULL");if(o.instanceOf("IDateExpression"))return I.push(o.astDateValue);if(o.instanceOf("ITimeExpression"))return I.push(o.astTimeValue);if(o.instanceOf("IStringExpression","IUTCDateTimeExpression","IUTCTimeStampExpression"))return I.push(o.astValue);if(o.instanceOf("IDataAccessExpr"))return I.push(o.getName());if(o.instanceOf("IQLQuery")){var e=[];return o.print(e,0),I.push(e.join(" ").replace("\n",""))}if(o.instanceOf("INumberExpression")){switch(o.numberType){case"INTEGER":return I.push(o.intValue);case"DOUBLE":return I.push(o.doubleValue);case"DECIMALFLOAT":return I.push(o.floatValue)}return I.push("0")}return i("AST_PRINT._printExpression: MISSING TYPE "+o.$intf),I.push(o.astValue||o.value||o.name)}function T(e,t){if(t.instanceOf("IPrimitiveUndefined","IEnumValueType"))return"";var n=" : ";if(t.instanceOf("IPrimitiveType"))n+=t.getFullyQualifiedName(),t.instanceOf("IPrimitiveString")?n+=5e3===t.param?"":"("+t.param+")":t.instanceOf("IPrimitiveDecimal")&&(n+="("+t.p+", "+t.s+")");else if(t.instanceOf("IEnum","IRdlEntity","IDerivedType","IRdlStructuredType")){var r=D(e).getFullyQualifiedName(),o=D(t).getFullyQualifiedName();n+=0===r.indexOf(o)?t.getName():t.getFullyQualifiedName()}else if(t.instanceOf("IAssociationType")){if(n+="association ",t.cardinality){var a=[];t.getCardinality().print(a,0),n+=a.join("")}n+="to "+t.getTargetEntity().getName(),t.instanceOf("IAssociationViaBacklink")?n+=" via backlink "+t.getViaBacklinkField().getName():t.instanceOf("IAssociationViaEntity")&&(n+=" via entity "+t.getViaEntity().getName())}else if(t.instanceOf("IArray")){var s=t.getCardinality();n=T(t,t.getType()),n+="["+(4294967295===s.upperBound?"":s.upperBound)+"]"}else i("AST_PRINT._printInlineType: MISSING TYPE "+t.$intf),n="";return n}function D(t){var n=t.getFullyQualifiedName(),r=(n||"").split(".");return t.instanceOf("IElement","IRdlAction")?n=r.slice(0,-2).join("."):t.instanceOf("IRdlStructuredType","IEnum")&&(n=r.slice(0,-1).join(".")),e.getSymbol(n)}function A(t){var n=(t.getFullyQualifiedName()||"").split(".");if(t.instanceOf("IElement")){var r=n.slice(0,-1).join(".");return e.getSymbol(r)}return null}function P(e,t){return jQuery.isArray(e)&&1===e.length&&(e=e[0]),e.isExplicitlyDefined?e:(t.push(e.getName()+"."),P(e.getNestedContexts()))}if(!o||!jQuery.isFunction(o.instanceOf))return null;if(o.instanceOf("IAstPosition"))return i("AST_PRINT.printNode: Not printable node "+o.$intf,i.WARNING),null;if(o.instanceOf("IQLQuery"))throw new Error("Query element is not supported");var k=2===arguments.length,I=[],F=0;if(k||(I=arguments[2],F=arguments[3]),o.instanceOf("IRdlContext")?a():o.instanceOf("IView")?s():o.instanceOf("IRdlEntity")?u():o.instanceOf("IConstElement")?c():o.instanceOf("IElement")?l():o.instanceOf("IAction")?p():o.instanceOf("IRdlParameter")?f():o.instanceOf("IEnum")?d():o.instanceOf("IRdlStructuredType")?h():o.instanceOf("IDerivedType")?m():o.instanceOf("IRdlAnnotation")?g():o.instanceOf("IAccessibleByItem")?v():o.instanceOf("ICardinality")?y():o.instanceOf("IQLQuery")?x():o.instanceOf("IQLFrom")?b():o.instanceOf("IQLFromElement")?_():o.instanceOf("IQLGroupBy")?w():o.instanceOf("IQLOrderBy")?E():o.instanceOf("IQLOrderByEntry")?S():o.instanceOf("IRdlExpression")?C():i("AST_PRINT.printNode: MISSING TYPE "+o.$intf),k){var O=I.join("");return i(O,i.LOG),O}}}function t(e){return!e||e.autoGenerated}function n(e){var n=!1;return jQuery.each(e||[],function(){if(!t(this))return n=!0,!1}),n}function r(e){for(var t="\t";t.lengtht?1:0}void 0===n&&(n="APPLICATION_NAME_NOT_PROVIDED"),void 0===r&&(r="FILE_URI_NOT_PROVIDED");try{var E=$.parseXML(t)}catch(e){return null}var S,C,T,D={},A=[],P=null;return i(),S=e.parseCsdl(E),T=o()},parse:function(e,t,n){return this._parseCsdl(e,t,n)}}}),function(){function e(t,n){function r(){return b=t.charAt(++w),b||""}function i(e){var n="",i=w;return e&&s(),n=t.charAt(w+1)||"",w=i-1,r(),n}function o(e){for(var n=w;r();)if("\\"===b)r();else{if(e.indexOf(b)!==-1)break;if("\n"===b)break}return t.substring(n,w+1)}function a(e){var t=w,n=o(e);return w=t-1,r(),n}function s(){for(var e="";_.test(i());)r(),e+=b;return e}function u(){var e="";for(b&&_.test(b)&&(e=b);_.test(r());)e+=b;return e}function c(e){var n=w;for(e="/"===i(),r();r();){if(!e&&"*"===b&&"/"===i()){r();break}if(e&&"\n"===b)return t.substring(n,w)}return t.substring(n,w)+b}function l(e){return t.substring(w-e.length,w).toLowerCase()===e}function p(){for(var e=0,n=w+1;nD):k=T>=D):"}"===b?(d(),A["}"](b),k=!1,I=!1,D&&D--,y&&0===T&&A.newLine(!0)):":"===b?(s(),!k&&!F||l("&")||p()?":"===i()?(r(),P.push("::")):P.push(":"):(I=!0,P.push(":"),A.singleSpace())):'"'===b||"'"===b?(A.preserveSingleSpace(),P.push(o(b))):";"===b?(I=!1,P.push(b),A.newLine()):"("===b?l("url")?(P.push(b),s(),r()&&(")"!==b&&'"'!==b&&"'"!==b?P.push(o(")")):w--)):(E++,A.preserveSingleSpace(),P.push(b),s()):")"===b?(P.push(b),E--):","===b?(P.push(b),s(),g&&!I&&E<1?A.newLine():A.singleSpace()):"]"===b?P.push(b):"["===b?(A.preserveSingleSpace(),P.push(b)):"="===b?(s(),b="=",P.push(b)):(A.preserveSingleSpace(),P.push(b))}var U="";return S&&(U+=S),U+=P.join("").replace(/[\r\n\t ]+$/,""),v&&(U+="\n"),"\n"!=x&&(U=U.replace(/[\n]/g,x)),U}e.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},e.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0},"function"==typeof define&&define.amd?define("sap/watt/lib/beautifiers/css/beautify-css",[],function(){return{css_beautify:e}}):"undefined"!=typeof exports?exports.css_beautify=e:"undefined"!=typeof window?window.css_beautify=e:"undefined"!=typeof global&&(global.css_beautify=e)}(),define("sap.watt.toolsets.css/utils/CSSFormatter",["sap/watt/lib/beautifiers/css/beautify-css"],function(e){var t=function(){};return t.prototype.format=function(t,n){return e.css_beautify(t,n)},t}),define("sap.watt.toolsets.css/service/CSSBeautifierImpl",["../utils/CSSFormatter"],function(e){"use strict";var t=function(){this.formatCSS=new e};return t.prototype._oDefaultSettings={indent_size:4,indent_char:" "},t.prototype.beautify=function(e,t){var n=this.getSettings(t),r=this.formatCSS.format(e,n);return r},t.prototype.getSettings=function(e){return e?this._updateSetting(e):this._oDefaultSettings},t.prototype._updateSetting=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&("indent_size"==n?t.indent_size=e[n]:"indent_char"==n?t.indent_char=e[n]:t[n]=e[n]);return t},t._instance=void 0,t.getInstance=function(){return t._instance||(t._instance=new t),t._instance},t.getInstance()}),define("sap.watt.toolsets.xml/codecompletion/XMLVisitor",[],function(){var e=function(){};e.prototype={nodeTypes:{ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9},offsetTypes:{root:"root",text:"text",tag:"tag",closetag:"closetag",attr:"attr",value:"value",entity:"entity",cdata:"cdata",comments:"comments",instruction:"instruction",intag:"intag",error:"error"},createDocNode:function(){return{nodeType:this.nodeTypes.DOCUMENT,nodeName:"#document",nameSpaces:{},childNodes:[],schema:!1,schemaInfo:[]}},createTextNode:function(e){var t=/\s+/g,n=/\>/g,r=/\</g,i=/\"/g,o=/\'/g,a=/\&/g;return{nodeType:this.nodeTypes.TEXT,nodeName:"#text",isPrecedingOffset:this.isPrecedingOffset,nodeValue:e.replace(t," ").replace(n,">").replace(r,"<").replace(o,"'").replace(i,'"').replace(a,"&")}},preParseCData:function(e){},preParseComments:function(e){for(var t,n=//g,r=[],i=-1,o="",a="",s=0,u=0,c=0;null!=(t=n.exec(e.str));)i=n.lastIndex-t[0].length,c=n.lastIndex,o="",e.offset>i+3&&(e.offset",s+=t[0].length-a.length)),r.push({str:t[0].slice(4,-3),offset:i,prefix:o}),u++;var l=!1;n=/"+e.str.slice(r[p].offset+r[p].str.length+7);e.commentList=r,e.offset-=s},preParseString:function(e){for(var t,n=new RegExp("(\"([^\"]*)\")|('([^']*)')","g"),r=[],i=0,o=0,a=0,s=-1,u=/['"]/g,c="",l=-1,p="",f="";null!==(t=n.exec(e.str));){if(u=/['"]/g,c=u.exec(e.str.slice(a)),c&&c[0].charAt(0)!==t[0].charAt(0)){s=a+c.index;break}l=t.index,a=n.lastIndex,p="",f="",e.offset>l&&(e.offset-1&&(t=e.str.slice(s),l=s,p="",e.offset>l&&(e.offset=0;h--)e.str=e.str.slice(0,r[h].offset)+'"'+h+'"'+e.str.slice(r[h].offset+r[h].str.length+2);e.strList=r,e.offset-=i},preParse:function(e,t){var n={str:"",offset:0};return n.str=e.slice(0),n.offset=t,this.preParseCData(n),this.preParseComments(n),this.preParseString(n),n},parseTag:function(e,t,n,r,i,o,a){var s={offsetType:"",offsetSentence:"",offsetWord:"",offsetPrefix:"",offsetObj:void 0,tag:"",attr:""},u="_defaultns_",c=new RegExp("^\\s+|\\s+$","g"),l=new RegExp("([^=]*)=(\\s*(\"([^\"]*)\")|('([^']*)'))","g"),p=new RegExp("\\s+","g"),f=new RegExp("\\>","g"),d=new RegExp("\\<","g"),h=new RegExp("\\"","g"),m=new RegExp("\\'","g"),g=new RegExp("\\&","g"),v=null,y=null,x="",b="",_=null;if(o&&o>a+t[1].length+t[2].length+2&&(s.offsetType=this.offsetTypes.text,s.offsetPrefix=e.slice(a+t[1].length+t[2].length+3,o+1),s.offsetObj=r),"/"===t[2].charAt(0)&&t[2].replace(c,"").length>0)o&&(""===s.offsetType?(4===t.length&&o=0)if(0===t[1].length)o&&""===s.offsetType&&(s.offsetType=this.offsetTypes.tag,s.offsetPrefix="",v={nodeType:this.nodeTypes.ELEMENT,nodeName:"",localName:"",namespace:u,attributes:[],parentNode:r,isPrecedingOffset:this.isPrecedingOffset,childNodes:[]},s.offsetObj=v);else if("?"===t[1].charAt(0))o&&""===s.offsetType&&(s.offsetType=this.offsetTypes.instruction,s.offsetObj=r);else if("!"===t[1].charAt(0))0===t[1].indexOf("![CDATA[")?o&&""===s.offsetType&&(s.offsetType=this.offsetTypes.cdata,s.offsetObj=r):0===t[1].indexOf("!--")&&(b=null,b="--"==t[1].slice(-2)?t[1].slice(3,-2):t[1].slice(3),y=null,b.length>0&&(_=i.commentList[parseInt(b,10)],r.childNodes.push({nodeType:this.nodeTypes.COMMENT,nodeName:"#comment",nodeValue:_.str}),y=_.prefix),o&&""==s.offsetType&&o-1){var w=x.split(":");v.namespace=w[0],v.localName=w[1]}var E,S;o&&(S=-1);for(var C=a+t[1].length+2,T=null,D=null,A="",P=null;null!=(E=l.exec(t[2]));){if(y=null,E.length>0)if(x=E[1].replace(c,""),b=E[4]||E[6]||"",b.length>0&&(_=i.strList[parseInt(b,10)],b=_.str,y=_.prefix),b=b.replace(p," ").replace(f,">").replace(d,"<").replace(m,"'").replace(h,'"').replace(g,"&"),0==x.indexOf("xmlns"))"xmlns:xsi"==x&&"http://www.w3.org/2001/XMLSchema-instance"==b?n.schema=!0:x.indexOf(":")>0?(T=x.split(":"),r&&"#document"===r.nodeName&&(n.nameSpaces[T[1]]=b)):r&&"#document"===r.nodeName&&(n.nameSpaces[u]=b);else{var k=x;if(T=u,"xsi:nonamespaceschemalocation"==x.toLowerCase()){D=b.split(" ");for(var I=0;I0){var F=x.split(":");k=F[1],T=F[0]}v.attributes.push({nodeType:this.nodeTypes.ATTRIBUTE,nodeName:x,localName:k,namespace:T,nodeValue:b})}o&&""==s.offsetType&&(o1&&'"'==j.charAt(0)?(_=i.strList[parseInt(j.slice(1),10)],j=_.str):'"'!=j[0]&&"'"!=j[0]||(j=j.substring(1)),s.offsetPrefix=j,s.attr=O.slice(0,N)}}r&&(r.childNodes.push(v),v.parentNode=r,"/"!=t[2].charAt(t[2].length-1)&&(r=v)),s.offsetType==this.offsetTypes.text?s.offsetObj=r:""!=s.offsetType&&(s.offsetObj=v)}var R=t[3];return null!=t[3]&&(o&&o-1?n.status.content.substring(0,n.status.content.indexOf("<")):n.status.content;n.root.childNodes.push(this.createTextNode(a)),(o==-1||n.status.offset\\/\\s+]*)([^>]*)>([^<]*)","g");for(new RegExp("^\\s+|\\s+$","g");null!=(s=l.exec(n.status.content));)u=null,n.status.offset>i&&n.status.offset\\/\\s+]*)([^>]*)","g");p.lastIndex=i+1,null!=(s=p.exec(n.status.content))&&(u=null,n.status.offset>i&&n.status.offset)/).index;u=t>h&&t0&&(y=x.slice(0,b),""==y?y=r.nameSpaces[s]:r.nameSpaces[y]&&(y=r.nameSpaces[y]),x=x.slice(b+1));var _=""!=x;if(n&&n.rootNode&&n.rootNode.length>0){_=!1;for(var w=0;w-1&&(a.prefixns=a.prefix.slice(0,E),a.prefix=a.prefix.slice(E+1)),a.lbracket=!0,a.origText=a.prefix;break;case this._mParser.offsetTypes.attr:a.type=this.suggestTypes.attr,a.currentTag=g.status.offsetObj.nodeName,a.parentTag=g.status.offsetObj.parentNode?g.status.offsetObj.parentNode.nodeName:"",o=g.status.offsetObj.parentNode;for(var S=g.status.offsetObj.attributes,C=0;C-1&&(a.currentTagns=a.currentTag.slice(0,E),a.currentTag=a.currentTag.slice(E+1)),a.origText=a.prefix;break;case this._mParser.offsetTypes.value:a.type=this.suggestTypes.value,a.currentTag=g.status.offsetObj.nodeName,a.parentTag=g.status.offsetObj.parentNode?g.status.offsetObj.parentNode.nodeName:"",o=g.status.offsetObj.parentNode,a.currentAttr=g.status.attr,a.prefix=g.status.offsetPrefix,E=a.currentTag.indexOf(":"),E>-1&&(a.currentTagns=a.currentTag.slice(0,E),a.currentTag=a.currentTag.slice(E+1)),a.origText=a.prefix;break;case this._mParser.offsetTypes.intag:a.type=this.suggestTypes.intag,a.currentTag=g.status.offsetObj.nodeName,a.origText="";break;default:a.origText=""}}}}return{currentEnv:a,root:r,curobj:i,parentTagObj:o}}},t}),define("sap.watt.toolsets.xml/service/XMLCodeVisitorImpl",["../codecompletion/XMLVisitor"],function(e){var t=function(){this.xmlVisitor=new e};return t.prototype={getEnv:function(e,t,n){var r=this;if(e){null==t&&(t=e.length);var i=Q.defer();try{var o=null,a=this.xmlVisitor.getEnv(e,t,n);a&&a.currentEnv&&(o={currentTag:a.currentEnv.currentTag,currentTagns:a.currentEnv.currentTagns,currentAttr:a.currentEnv.currentAttr,currentAttrs:a.currentEnv.currentAttrs,parentTag:a.currentEnv.parentTag,gparentTag:a.currentEnv.gparentTag,lbracket:a.currentEnv.lbracket,origText:a.currentEnv.origText,prefix:a.currentEnv.prefix,prefixns:a.currentEnv.prefixns,type:a.currentEnv.type,xmlnsList:a.currentEnv.xmlnsList,parentTagObj:a.parentTagObj}),i.resolve(o)}catch(e){r.context.service.log.error("XMLCodeVisitor","Failed to get env "+e.message,["system"]).done(),i.resolve(null)}return i.promise}}},t}),define("sap.watt.toolsets.xml/codecompletion/UI5XmlTypes",[],function(){var e=function(){};return e.prototype={ui5Types:{"sap.m.ButtonType":"enum","sap.ui.core.TextDirection":"enum","sap.ui.core.TextAlign":"enum","sap.m.DialogType":"enum","sap.m.FlexAlignItems":"enum","sap.m.FlexAlignSelf":"enum","sap.m.FlexDirection":"enum","sap.m.FlexJustifyContent":"enum","sap.m.FlexRendertype":"enum","sap.m.InputType":"enum","sap.m.LabelDesign":"enum","sap.m.PageBackgroundDesign":"enum","sap.m.SwitchType":"enum","sap.m.DateTimeInputType":"enum","sap.ui.core.ValueState":"enum","sap.ui.core.Wrapping":"enum","sap.apb.TransitionType":"enum","sap.apb.makit.ChartType":"enum","sap.apb.makit.LegendPosition":"enum","sap.apb.makit.SortOrder":"enum"},candidateElements:function(e){var t=e.prefix,n=e.ns,r=e.parent,i=this.getLibrary(n);if(!i)return[];if(!r||this.IsRootElement(r))return this.getElements(t,n,i.controls,"Control");var o=this.getMetadata(n,r),a=null,s=null,u=null;if(o){var c=this.getAttributes(t,o,"getAllAggregations");s=this.getElements(t,n,i.controls,"Control"),u=this.getElements(t,n,i.elements,"Element"),a=c.concat(s).concat(u)}else s=this.getElements(t,n,i.controls,"Control"),u=this.getElements(t,n,i.elements,"Element"),a=s.concat(u);return a},candidateAttributes:function(e){var t=this.candidateAttributeProperties(e.prefix,e.ns,e.element),n=this.candidateAttributeEvents(e.prefix,e.ns,e.element);return t.concat(n)},candidateProperties:function(e){var t=this.candidateAttributeProperties(e.prefix,e.ns,e.element);return t},candidateEvents:function(e){var t=this.candidateAttributeEvents(e.prefix,e.ns,e.element);return t},candidateAttributeProperties:function(e,t,n){var r=this.getMetadata(t,n);return this.getAttributes(e,r,"getAllProperties")},candidateAttributeEvents:function(e,t,n){var r=this.getMetadata(t,n);return this.getAttributes(e,r,"getAllEvents")},candidateAttributeValues:function(e){var t=e.prefix,n=e.ns,r=e.element,i=e.attr,o=[],a=this.getMetadata(n,r),s=a.getAllProperties()[i],u=t.length;if(s){var c=s.type;if("boolean"==c)u>0?(this.compareStringIgnoreCase("false".substr(0,u),t)&&o.push({name:"false",type:"boolean"}),this.compareStringIgnoreCase("true".substr(0,u),t)&&o.push({name:"true",type:"boolean"})):(o.push({name:"false",type:"boolean"}),o.push({name:"true",type:"boolean"}));else if("enum"==this.ui5Types[c]){var l=this.getObject(n,c);if(l){var p=null;if(u>0)for(p in l)Object.prototype.hasOwnProperty.call(l,p)&&this.compareStringIgnoreCase(p.substr(0,u),t)&&o.push({name:p.toString(),type:"enum"});else for(p in l)Object.prototype.hasOwnProperty.call(l,p)&&o.push({name:p.toString(),type:"enum"})}}}return o},getAttributes:function(e,t,n){var r=[];if(t){var i=e.length,o=t[n](),a=null;if(i>0){for(a in o)if(Object.prototype.hasOwnProperty.call(o,a)){var s=o[a].name;this.compareStringIgnoreCase(s.substr(0,i),e)&&r.push(o[a])}}else for(a in o)Object.prototype.hasOwnProperty.call(o,a)&&r.push(o[a])}return r},getElements:function(e,t,n,r){var i=[],o=t.length+1,a=e.length,s=null,u="";if(a>0)for(var c=0;c0&&i.push({name:u,type:r}));return i},IsRootElement:function(e){if("core:View"==e)return!0;var t=e.indexOf(":");return t>0&&"View"==e.substr(t+1)},getLibrary:function(e){for(var t=null,n=e;n.indexOf(".")>0&&!(t=sap.ui.getCore().getLoadedLibraries()[n]);)n=n.slice(0,n.lastIndexOf("."));if(!t)try{t=sap.ui.getCore().loadLibrary(e),console.log("load library ["+e+"] here...")}catch(t){
console.log("load library ["+e+"] error:"+t.message)}return t},getObject:function(e,t){return this.getLibrary(e),t.indexOf(".")<0&&(t=e+"."+t),jQuery.sap.getObject(t)},getMetadata:function(e,t){var n=null,r=this.getObject(e,t);return r?n=r.getMetadata():"sap.ui.core"==e&&"View"==t&&(r=this.getObject(e+".mvc",t),n=r.getMetadata()),n},compareStringIgnoreCase:function(e,t){return e.toLowerCase()===t.toLowerCase()}},e}),define("sap.watt.toolsets.xml/codecompletion/XMLMetadataContentAssist",[],function(){var e=function(e){this.mUI5XMLMetadata=e};return e.prototype={addMetadata:function(e,t){var n=this;if(e.enums){var r=Object.keys(e.enums);r.forEach(function(r){n.mUI5XMLMetadata.enums[r]=e.enums[r],n.mUI5XMLMetadata.enums[r].$library=t})}e.metadatas&&(r=Object.keys(e.metadatas),r.forEach(function(r){n.mUI5XMLMetadata.metadatas.hasOwnProperty(r)?n.mUI5XMLMetadata.metadatas[r].types&&n.mUI5XMLMetadata.metadatas[r].types.indexOf(e.metadatas[r].types[0])===-1&&(n.mUI5XMLMetadata.metadatas[r].types=n.mUI5XMLMetadata.metadatas[r].types.concat(e.metadatas[r].types)):(n.mUI5XMLMetadata.metadatas[r]=e.metadatas[r],n.mUI5XMLMetadata.metadatas[r].library=t)}))},resetMetadata:function(){this.mUI5XMLMetadata.enums={},this.mUI5XMLMetadata.metadatas={}},candidateElements:function(e){var t=e.prefix,n=e.ns,r=e.parent,i=this.getLibrary(n,e.isNameSpace,t);if(!i)return[];if(!r&&!e.isNameSpace)return this.getElements(t,n,i.controls,"Control");if(!r&&e.isNameSpace){var o=i.hasOwnProperty("typesWithClasses")?i.typesWithClasses:i.types;return this.getElements(t,n,o,"Namespaces")}var a=this.getMetadata(n,r),s=null,u=null,c=null;if(a){var l=this.getAttributes(t,a,"aggregations");u=this.getElements(t,n,i.controls,"Control"),c=this.getElements(t,n,i.elements,"Element"),s=l.concat(u).concat(c)}else u=this.getElements(t,n,i.controls,"Control"),c=this.getElements(t,n,i.elements,"Element"),s=u.concat(c);return s},candidateAttributes:function(e){var t=this.candidateAttributeProperties(e.prefix,e.ns,e.element),n=this.candidateAttributeEvents(e.prefix,e.ns,e.element);return t.concat(n)},candidateProperties:function(e){var t=this.candidateAttributeProperties(e.prefix,e.ns,e.element),n=this.candidateAttributeAssociations(e.prefix,e.ns,e.element);return t.concat(n)},candidateEvents:function(e){var t=this.candidateAttributeEvents(e.prefix,e.ns,e.element,e.pcontext);return t},candidateAttributeProperties:function(e,t,n){var r=this.getMetadata(t,n);return this.getAttributes(e,r,"properties")},candidateAttributeEvents:function(e,t,n,r){var i=this.getMetadata(t,n);return this.getAttributes(e,i,"events",r)},candidateAttributeAssociations:function(e,t,n){var r=this.getMetadata(t,n);return this.getAttributes(e,r,"associations")},candidateAttributeValues:function(e){for(var t=e.prefix,n=e.ns,r=e.element,i=e.attr,o=[],a=this.getMetadata(n,r),s=null,u=this.getAttributes(i,a,"properties"),c=0;c0?(this.compareStringIgnoreCase("false".substr(0,p),t)&&o.push({name:"false",type:"boolean",fullName:s.fullName}),this.compareStringIgnoreCase("true".substr(0,p),t)&&o.push({name:"true",type:"boolean",fullName:s.fullName})):(o.push({name:"false",type:"boolean",fullName:s.fullName}),o.push({name:"true",type:"boolean",fullName:s.fullName}));else if(this.mUI5XMLMetadata.enums[f]){var d=this.mUI5XMLMetadata.enums[f];if(d){var h=null;if(p>0)for(h in d)Object.prototype.hasOwnProperty.call(d,h)&&this.compareStringIgnoreCase(h.substr(0,p),t)&&o.push({name:h.toString(),type:"enum",description:d[h].description,helpDescription:d[h].helpDescription,fullName:f+"#"+h});else for(h in d)Object.prototype.hasOwnProperty.call(d,h)&&o.push({name:h.toString(),type:"enum",description:d[h].description,helpDescription:d[h].helpDescription,fullName:f+"#"+h})}}}return o},eventParamsAsList:function(e){if(!e)return"";var t="";if(Object.keys(e).length>0){t='Parameters:
';var n=Object.keys(e).sort();for(var r in n)t+='| ['+e[n[r]].replace(/(^(type:\s?))/g,"")+"] | "+n[r]+" |
";t+="
"}return t},getAttributes:function(e,t,n){var r=[];if(t){var i=e.length,o=t[n],a=null;switch(n){case"properties":a="Property";break;case"aggregations":a="Aggregation";break;case"associations":a="Association";break;case"events":a="Event"}var s="",u=null;if(i>0)for(u in o)Object.prototype.hasOwnProperty.call(o,u)&&(s=u,this.compareStringIgnoreCase(s.substr(0,i),e)&&r.push({name:s,type:a,dataType:o[u].type,description:o[u].description+this.eventParamsAsList(o[u].eventParams),helpDescription:o[u].helpDescription,fullName:o[u].fullName,eventParams:o[u].eventParams}));else for(u in o)Object.prototype.hasOwnProperty.call(o,u)&&(s=u,r.push({name:s,type:a,dataType:o[u].type,description:o[u].description,helpDescription:o[u].helpDescription+this.eventParamsAsList(o[u].eventParams),fullName:o[u].fullName,eventParams:o[u].eventParams}));if(t.extend)for(var c=this.getMetadata("",t.extend),l=this.getAttributes(e,c,n),p=0;p0&&n){for(var p=0;p0)){if(c="",l="","Namespaces"===r&&this.mUI5XMLMetadata.enums.hasOwnProperty(s))continue;this.mUI5XMLMetadata.metadatas[s]&&(c=this.mUI5XMLMetadata.metadatas[s].description,l=this.mUI5XMLMetadata.metadatas[s].helpDescription),i.push({name:u,type:r,description:c,helpDescription:l,fullName:s})}return i},IsRootElement:function(e){if("core:View"===e)return!0;var t=e.indexOf(":");return t>0&&"View"===e.substr(t+1)},getRootNS:function(e){var t=[],n=Object.keys(e);return n.forEach(function(e){e.indexOf(".")===-1&&(t=t.concat(e))}),t},getLibrary:function(e,t,n){for(var r=null,i=e,o=this.mUI5XMLMetadata.metadatas;i.indexOf(".")>0;){if(o[i]&&"library"===o[i].filetype){r=o[i];break}i=i.slice(0,i.lastIndexOf("."))}return t&&(""===i&&""===n?(r={types:null},r.types=this.getRootNS(o)):r=o[i]),r||console.log("fail to get library ["+e+"]"),r},getObject:function(e,t){return t.indexOf(".")<0&&(t=e+"."+t),this.mUI5XMLMetadata.metadatas[t]},getMetadata:function(e,t){var n=null,r=this.getObject(e,t);return r?n=r:"sap.ui.core"===e&&"View"===t&&(r=this.getObject(e+".mvc",t),n=r),n},isEnumType:function(e){var t=!1;return t=!!this.mUI5XMLMetadata.enums[e]},compareStringIgnoreCase:function(e,t){return e.toLowerCase()===t.toLowerCase()}},e}),define("sap.watt.toolsets.xml/codecompletion/SchemaMetadata",[],function(){var e={},t=function(e,t,n){var r=e.attributes;return r.getNamedItemNS?r.getNamedItemNS(n||null,t):r.getQualifiedItem(t,n)||null},n=function(n,r,i,o,a){var s=null;return n?(e.xmlTraverse(n,a,function(e){if(1===e.nodeType&&r===e.tagName)if(i){var n=t(e,i,"");n&&n.value==o&&(s=e)}else s=e;return{proceed:null===s,downward:!0}}),s):s};return e.getNode=function(e,t,r){var i=null;if(!e)return i;var o=r.split("/");i=e;var a,s;for(a=0,s=o.length;a0&&(o.enumOptions=f)}return o},e.getAttributes=function(r,i,o){var a=[];if(!i)return a;var s=t(i,"type",""),u=null;u=s?e.xmlFindNodeFromAll(r,o,"xs:complexType","name",s.value,!0):n(i,"xs:complexType",null,null,!1);for(var c=e.getAttrNodesFromNodeOrGroup(r,o,u),l=0;l0);this.compareStringIgnoreCase(d.substr(0,t.length),t)&&i.push({name:d,type:h,dataType:m,description:f,fullName:d,isEnum:g})}return i},candidateAttributeValues:function(e){var t=e.prefix,n=(e.ns,e.element,e.attr),r=[],i=null,o=n.ns,a=n.name;if(i=this.getAttrNode(this.schemaList,o,a)){var s=this.getAttrInfo(this.schemaList,o,i);if(s){var u=t.length;if("xs:boolean"==s.dType)u>0?(this.compareStringIgnoreCase("false".substr(0,u),t)&&r.push({name:"false",type:"boolean",fullName:s.name}),this.compareStringIgnoreCase("true".substr(0,u),t)&&r.push({name:"true",type:"boolean",fullName:s.name})):(r.push({name:"false",type:"boolean",fullName:s.name}),r.push({name:"true",type:"boolean",fullName:s.name}));else if(s.enumOptions){var c=null;if(u>0)for(var l=0;l\n\t\n\n'}];return t.prototype=new e.TemplateContentAssist(null,n),t.prototype.resetTemplateAndKeywords=function(){this._templates=[],this._keywords=[],this.addTemplates(n)},t.prototype.isValid=function(e,t,n,r){return!0},{XMLTemplateContentAssistProvider:t}}),define("sap.watt.toolsets.xml/codecompletion/XMLContentAssist",["./XMLVisitor","./UI5XmlTypes","./XMLMetadataContentAssist","./SchemaMetadataContentAssist","./XMLTemplateContentAssist","sap/watt/lib/lodash/lodash"],function(e,t,n,r,i,o){var a=function(){this.xmlTypes=new t,this.xmlVisitor=new e,this.schemaMetadataAssist=new r,this.category={XML_NAMESPACE:0,XML_ELEMENT:1,XML_PROPERTY:2,XML_EVENT:3,XML_SYNTAX:5,XML_SNIPPET:6,XML_PROPERTY_DEFAULT:11,XML_PROPERTY_BOOL:12,XML_PROPERTY_ENUM:13,XML_ASSOCIATION:14,XML_PROP_OPTIONS:21},this.categoryDesc={6:"SNIPPET"},this.prefix,this._UI5ServiceName="sapui5"};return a.prototype={throwError:function(e){var t=new Error(e);throw t},candidateXMLSyntaxs:function(e){var t=[];return("attr"==e.type&&""===e.prefix||"intag"==e.type)&&(t.push({name:">",syntax:">",type:"syntax"}),t.push({name:"/>",syntax:"/>",type:"syntax"})),"attr"!=e.type||"View"!=e.element&&"FragmentDefinition"!=e.element||0!="xmlns".indexOf(e.prefix)||(t.push({name:"xmlns",syntax:"xmlns",type:"syntax"}),t.push({name:"xmlns:",syntax:"xmlns:",type:"syntax"})),t},candidateXMLSyntaxSnippets:function(e){var t=[];if("attr"==e.type&&""===e.prefix||"intag"==e.type){var n=e.element;e.namespace&&e.namespace.length>0&&(n=e.namespace+":"+n),n=">"+n+">",t.push({name:">",proposal:n,type:"syntax"})}return t},candidateNameSpaces:function(e){for(var t=[],n=0;n0||""===n.ns&&"root"===n.prefix)&&(r=this.xmlTemplateAssistant.computeProposals(e,t,n)),r},getRefNS:function(e,t){var n=t,r=null;if(""==n){for(var i=0;in?1:-1:e.description.toLowerCase()0&&(d=a.parentTag.slice(0,t),h=a.parentTag.slice(t+1)),d=p.getRefNS(a,d);for(var m=o.candidateElements({ns:l,prefix:a.prefix,parent:{ns:d,name:h}}),g=0;g0&&(r=a.currentTag.slice(0,t),i=a.currentTag.slice(t+1)),r=p.getRefNS(a,r);for(var x=o.candidateAttributes({ns:l,prefix:a.prefix,element:{ns:r,name:i},attrs:a.currentAttrs}),g=0;g0&&(r=a.currentTag.slice(0,t),i=a.currentTag.slice(t+1)),r=p.getRefNS(a,r);var E="",S=a.currentAttr;t=a.currentAttr.indexOf(":"),t>0&&(E=a.currentAttr.slice(0,t),S=a.currentAttr.slice(t+1)),E=p.getRefNS(a,E);for(var C=o.candidateAttributeValues({ns:l,prefix:a.prefix,element:{ns:r,name:i},attr:{ns:E,name:S}}),g=0;g0&&c.lbracket?c.prefix:""===c.prefix&&c.prefix.indexOf(".")<0&&!c.lbracket?this.prefix:c.prefix;var y=this.getAllNS(c,s);for(a=0;a0&&(N=c.prefix.slice(0,R),j=c.prefix.slice(R+1,c.prefix.length));for(var b=u.candidateElements({ns:N,prefix:j,isNameSpace:!0}),a=0;a0&&(a!==s&&(a=a.replace(".","/"),c=o.indexOf(a)+a.length),o=0===o.slice(c).indexOf("/")?o.slice(c+a.length+1):o.slice(c),o=i+u+a+o,c=o.lastIndexOf(""),c>0&&(o=o.slice(0,c+2)+u+a+">"));var l=a+" in "+t.ns;return l&&(c=l.indexOf(","),c>0&&(l=l.slice(0,c))),r.sTerm=o,r.sDescription=l,r},calculateQuatesEnumarations:function(e,t){return t.stringValue||""===t.stringValue||'"'===t.buffer[t.offset-1]||t.prefix?e:'"'+e+'"'},calculateQuatesNameSpace:function(e,t){var n=t.prefix;return n||'"'===t.buffer[t.offset-1]||t.prefix?n&&""!==n&&"."!==t.buffer[t.offset-1]&&n.lastIndexOf(".")!==-1?n.substr(0,n.lastIndexOf(".")+1)+e:n+e:'"'+e+'"'},computeProposals:function(e,t,n,r){try{var i=this.xmlVisitor.getEnv(e,t),o=i.currentEnv;if(""===o.currentAttr&&"attr"===o.type&&(""===o.origText||""===o.prefix))for(var a=!0,s=o,u=i;a;)t-=1,i=this.xmlVisitor.getEnv(e,t),o=i.currentEnv,""!==o.currentAttr||"attr"!==o.type||""!==o.origText&&""!==o.prefix?"value"===o.type?a=!1:("attr"===o.type||""!==o.origText&&""!==o.prefix)&&""===o.origText&&""===o.prefix||(a=!1,o=s,i=u):a=!0;var c=!1,l=this;if("value"==o.type&&(c=!0),this.prefix=void 0!=n.prefix?n.prefix:o.prefix,i.root.documentElement&&""===o.parentTag)return Q({proposalsObj:[],isValue:c,prefix:o.prefix});n.text=o.origText;var p=[];return 0===o.currentAttr.indexOf("xmlns")&&(n.stringValue=null),p.push(this.computeCommonProposals(e,t,n,r,i)),0!=o.isUI5&&p.push(this.computeUI5Proposals.call(this,e,t,n,r,i)),Q.allSettled(p).then(function(e){var t=[],n=0;for(n=0;n1&&":"===n&&(t=e.aRowTokens[e.aRowTokens.length-2].value,n=t+n);var r=/[^a-z\:\.A-Z_0-9\$\u00A2-\uFFFF]+/;return n.split(r).slice(-1)[0]}},o}),define("sap/watt/lib/XMLDomParser/sax",[],function(){function e(){}function t(e,t,s,p,f){function d(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function h(e){var t=e.slice(1,-1);return t in s?s[t]:"#"===t.charAt(0)?d(parseInt(t.substr(1).replace("x","0x"))):(f.error("entity not found:"+e),e)}function m(t){var n=e.substring(E,t).replace(/?\w+;/g,h);b&&g(E),p.characters(n,0,t-E),E=t}function g(t,n){for(;t>=y&&(n=x.exec(e));)v=n.index,y=v+n[0].length,b.lineNumber++;b.columnNumber=t-v+1}for(var v=0,y=0,x=/.+(?:\r\n?|\n)|.*$/g,b=p.locator,_=[{currentNSMap:t}],w={},E=0;;){var S=e.indexOf("<",E);if(S<0){if(!e.substr(E).match(/^\s*$/)){var C=p.document,T=C.createTextNode(e.substr(E));C.appendChild(T),p.currentElement=T}return}switch(S>E&&m(S),e.charAt(S+1)){case"/":var D=new RegExp("\\s*>"),A=e.substr(S+2),P=A.search(D);P=P+S+2;var k,I=e.substring(S+2,P);if(!(_.length>1)){f.fatalError("end tag name not found for: "+I);break}k=_.pop();var F=k.localNSMap;if(k.tagName!=I&&f.fatalError("end tag name: "+I+" does not match the current start tagName: "+k.tagName),p.endElement(k.uri,k.localName,I),F)for(var O in F)p.endPrefixMapping(O);P++;break;case"?":b&&g(S),P=c(e,S,p);break;case"!":b&&g(S),P=u(e,S,p,f);break;default:try{b&&g(S);var N=new l,P=r(e,S,N,h,f),j=N.length;if(j&&b){for(var R=n(b,{}),S=0;S0))throw new Error("attribute value no end '"+c+"' match");a=e.slice(t,s).replace(/?\w+;/g,r),n.add(o,a,t-1),u=_}else{if(u!=b)throw new Error('attribute value must after "="');a=e.slice(t,s).replace(/?\w+;/g,r),n.add(o,a,t),i.warning('attribute "'+o+'" missed start quot('+c+")!!"),t=s+1,u=_}break;case"/":switch(u){case g:n.setTagName(e.slice(t,s));case _:case w:case E:u=E,n.closed=!0;case b:case v:case y:break;default:throw new Error("attribute invalid close char('/')")}break;case"":i.error("unexpected end of input");case">":switch(u){case g:n.setTagName(e.slice(t,s));case _:case w:case E:break;case b:case v:a=e.slice(t,s),"/"===a.slice(-1)&&(n.closed=!0,a=a.slice(0,-1));case y:u===y&&(a=o),u==b?(i.warning('attribute "'+a+'" missed quot(")!!'),n.add(o,a.replace(/?\w+;/g,r),t)):(i.warning('attribute "'+a+'" missed value!! "'+a+'" instead!!'),n.add(a,a,t));break;case x:throw new Error("attribute value missed!!")}return s;case"":c=" ";default:if(c<=" ")switch(u){case g:n.setTagName(e.slice(t,s)),u=w;break;case v:o=e.slice(t,s),u=y;break;case b:var a=e.slice(t,s).replace(/?\w+;/g,r);i.warning('attribute "'+a+'" missed quot(")!!'),n.add(o,a,t);case _:u=w}else switch(u){case y:i.warning('attribute "'+o+'" missed value!! "'+o+'" instead!!'),n.add(o,o,t),t=s,u=v;break;case _:i.error('attribute space is required"'+o+'"!!');case w:u=v,t=s;break;case x:u=b,t=s;break;case E:throw new Error("elements closed character '/' and '>' must be connected to")}}s++}}function i(e,t,n,r){for(var i=e.tagName,o=null,a=n[n.length-1].currentNSMap,u=e.length;u--;){var c=e[u],l=c.qName,p=c.value,f=l.indexOf(":");if(f>0)var d=c.prefix=l.slice(0,f),h=l.slice(f+1),m="xmlns"===d&&h;else h=l,d=null,m="xmlns"===l&&"";c.localName=h,m!==!1&&(null==o&&(o={},s(a,a={})),a[m]=o[m]=p,c.uri="http://www.w3.org/2000/xmlns/",t.startPrefixMapping(m,p))}for(var u=e.length;u--;){c=e[u];var d=c.prefix;d&&("xml"===d&&(c.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==d&&(c.uri=a[d]))}var f=i.indexOf(":");f>0?(d=e.prefix=i.slice(0,f),h=e.localName=i.slice(f+1)):(d=null,h=e.localName=i);var g=e.uri=a[d||""];if(d&&!g&&r.error("unexpected namespace "+d),t.startElement(g,h,i,e),e.closed){if(t.endElement(g,h,i),o)for(d in o)t.endPrefixMapping(d)}else e.currentNSMap=a,e.localNSMap=o,n.push(e)}function o(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var o=e.indexOf(""+n+">",t),a=e.substring(t+1,o);if(/[&<]/.test(a))return/^script$/i.test(n)?(i.characters(a,0,a.length),o):(a=a.replace(/?\w+;/g,r),i.characters(a,0,a.length),o)}return t+1}function a(e,t,n,r){var i=r[n];if(null==i){var o=new RegExp(""+n+"\\s*>","gi"),a=e.match(o);if(a&&a.length>=1){var s=e.lastIndexOf(a[a.length-1]);i=r[n]=s}else i=-1}return i